/**
 * This file is part of Threema Web.
 *
 * Threema Web is free software: you can redistribute it and/or modify it
 * under the terms of the GNU Affero General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or (at
 * your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
 * General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with Threema Web. If not, see <http://www.gnu.org/licenses/>.
 */

import EMOJI_REGEX from 'emojibase-regex';
import twemoji from 'twemoji';

import {isEmojiInfo} from './../typeguards';

// This file contains helper functions related to emoji.
// Try to keep all functions pure!

// Generated with tools/twemoji/generate-shortname-mapping.py
const SHORTNAMES = {
    '+1': '👍️',
    '+1_tone1': '👍🏻',
    '+1_tone2': '👍🏼',
    '+1_tone3': '👍🏽',
    '+1_tone4': '👍🏾',
    '+1_tone5': '👍🏿',
    '-1': '👎️',
    '-1_tone1': '👎🏻',
    '-1_tone2': '👎🏼',
    '-1_tone3': '👎🏽',
    '-1_tone4': '👎🏾',
    '-1_tone5': '👎🏿',
    '100': '💯',
    '1234': '🔢',
    '8ball': '🎱',
    'a_blood': '🅰️',
    'ab_blood': '🆎',
    'abacus': '🧮',
    'abc': '🔤',
    'abcd': '🔡',
    'accordion': '🪗',
    'adhesive_bandage': '🩹',
    'admission': '🎟️',
    'adult': '🧑',
    'adult_tone1': '🧑🏻',
    'adult_tone2': '🧑🏼',
    'adult_tone3': '🧑🏽',
    'adult_tone4': '🧑🏾',
    'adult_tone5': '🧑🏿',
    'aerial_tramway': '🚡',
    'airplane': '✈️',
    'airplane_arriving': '🛬',
    'airplane_departure': '🛫',
    'alarm_clock': '⏰',
    'alembic': '⚗️',
    'alien': '👽️',
    'alien_monster': '👾',
    'ambulance': '🚑️',
    'amphora': '🏺',
    'amused': '😆',
    'anatomical_heart': '🫀',
    'anchor': '⚓️',
    'android': '📱',
    'anger': '💢',
    'angry': '😠',
    'angry_imp': '👿',
    'anguished': '😧',
    'annoyed': '😤',
    'ant': '🐜',
    'antenna_bars': '📶',
    'anxious': '😰',
    'apathetic': '😑',
    'apple': '🍎',
    'aquarius': '♒️',
    'aries': '♈️',
    'arrow_down': '⬇️',
    'arrow_heading_down': '⤵️',
    'arrow_heading_up': '⤴️',
    'arrow_left': '⬅️',
    'arrow_left_hook': '↩️',
    'arrow_left_right': '↔️',
    'arrow_lower_left': '↙️',
    'arrow_lower_right': '↘️',
    'arrow_right': '➡️',
    'arrow_right_hook': '↪️',
    'arrow_up': '⬆️',
    'arrow_up_down': '↕️',
    'arrow_upper_left': '↖️',
    'arrow_upper_right': '↗️',
    'art': '🎨',
    'asterisk': '*️⃣',
    'astonished': '😲',
    'athletic_shoe': '👟',
    'atm': '🏧',
    'atom': '⚛️',
    'auto_rickshaw': '🛺',
    'avocado': '🥑',
    'axe': '🪓',
    'b_blood': '🅱️',
    'baby': '👶',
    'baby_angel': '👼',
    'baby_angel_tone1': '👼🏻',
    'baby_angel_tone2': '👼🏼',
    'baby_angel_tone3': '👼🏽',
    'baby_angel_tone4': '👼🏾',
    'baby_angel_tone5': '👼🏿',
    'baby_bottle': '🍼',
    'baby_chick': '🐤',
    'baby_symbol': '🚼️',
    'baby_tone1': '👶🏻',
    'baby_tone2': '👶🏼',
    'baby_tone3': '👶🏽',
    'baby_tone4': '👶🏾',
    'baby_tone5': '👶🏿',
    'back': '🔙',
    'backhand_point_up': '👆️',
    'backhand_point_up_tone1': '👆🏻',
    'backhand_point_up_tone2': '👆🏼',
    'backhand_point_up_tone3': '👆🏽',
    'backhand_point_up_tone4': '👆🏾',
    'backhand_point_up_tone5': '👆🏿',
    'backpack': '🎒',
    'bacon': '🥓',
    'badger': '🦡',
    'badminton': '🏸',
    'bagel': '🥯',
    'baggage_claim': '🛄',
    'bald_man': '👨‍🦲',
    'bald_man_tone1': '👨🏻‍🦲',
    'bald_man_tone2': '👨🏼‍🦲',
    'bald_man_tone3': '👨🏽‍🦲',
    'bald_man_tone4': '👨🏾‍🦲',
    'bald_man_tone5': '👨🏿‍🦲',
    'bald_person': '🧑‍🦲',
    'bald_person_tone1': '🧑🏻‍🦲',
    'bald_person_tone2': '🧑🏼‍🦲',
    'bald_person_tone3': '🧑🏽‍🦲',
    'bald_person_tone4': '🧑🏾‍🦲',
    'bald_person_tone5': '🧑🏿‍🦲',
    'bald_woman': '👩‍🦲',
    'bald_woman_tone1': '👩🏻‍🦲',
    'bald_woman_tone2': '👩🏼‍🦲',
    'bald_woman_tone3': '👩🏽‍🦲',
    'bald_woman_tone4': '👩🏾‍🦲',
    'bald_woman_tone5': '👩🏿‍🦲',
    'ballet_shoes': '🩰',
    'balloon': '🎈',
    'ballot_box': '🗳️',
    'bamboo': '🎍',
    'banana': '🍌',
    'bandaid': '🩹',
    'bangbang': '‼️',
    'banjo': '🪕',
    'bank': '🏦',
    'bar_chart': '📊',
    'barber': '💈',
    'baseball': '⚾️',
    'basket': '🧺',
    'basketball': '🏀',
    'bat': '🦇',
    'bath': '🛀',
    'bath_tone1': '🛀🏻',
    'bath_tone2': '🛀🏼',
    'bath_tone3': '🛀🏽',
    'bath_tone4': '🛀🏾',
    'bath_tone5': '🛀🏿',
    'bathroom': '🚻',
    'bathtub': '🛁',
    'battery': '🔋',
    'beach': '🏖️',
    'beach_umbrella': '⛱️',
    'bear_face': '🐻',
    'bearded_person': '🧔',
    'bearded_person_tone1': '🧔🏻',
    'bearded_person_tone2': '🧔🏼',
    'bearded_person_tone3': '🧔🏽',
    'bearded_person_tone4': '🧔🏾',
    'bearded_person_tone5': '🧔🏿',
    'beaver': '🦫',
    'bed': '🛏️',
    'bee': '🐝',
    'beer': '🍺',
    'beers': '🍻',
    'beetle': '🪲',
    'bell': '🔔',
    'bell_pepper': '🫑',
    'bellhop': '🛎️',
    'bento': '🍱',
    'beverage_box': '🧃',
    'bike': '🚲️',
    'bikini': '👙',
    'billed_cap': '🧢',
    'biohazard': '☣️',
    'bird': '🐦️',
    'birthday': '🎂',
    'bison': '🦬',
    'black_cat': '🐈‍⬛',
    'black_circle': '⚫️',
    'black_flag': '🏴',
    'black_heart': '🖤',
    'black_joker': '🃏',
    'black_nib': '✒️',
    'black_square_button': '🔲',
    'blissful': '😁',
    'blond_man': '👱‍♂️',
    'blond_man_tone1': '👱🏻‍♂️',
    'blond_man_tone2': '👱🏼‍♂️',
    'blond_man_tone3': '👱🏽‍♂️',
    'blond_man_tone4': '👱🏾‍♂️',
    'blond_man_tone5': '👱🏿‍♂️',
    'blond_person': '👱',
    'blond_person_tone1': '👱🏻',
    'blond_person_tone2': '👱🏼',
    'blond_person_tone3': '👱🏽',
    'blond_person_tone4': '👱🏾',
    'blond_person_tone5': '👱🏿',
    'blond_woman': '👱‍♀️',
    'blond_woman_tone1': '👱🏻‍♀️',
    'blond_woman_tone2': '👱🏼‍♀️',
    'blond_woman_tone3': '👱🏽‍♀️',
    'blond_woman_tone4': '👱🏾‍♀️',
    'blond_woman_tone5': '👱🏿‍♀️',
    'blood_drop': '🩸',
    'blossom': '🌼',
    'blouse': '👚',
    'blowfish': '🐡',
    'blue_book': '📘',
    'blue_car': '🚙',
    'blue_circle': '🔵',
    'blue_heart': '💙',
    'blue_square': '🟦',
    'blueberry': '🫐',
    'blush': '😊',
    'boar': '🐗',
    'boba_drink': '🧋',
    'bomb': '💣️',
    'bone': '🦴',
    'book': '📖',
    'bookmark': '🔖',
    'bookmark_tabs': '📑',
    'books': '📚️',
    'boom': '💥',
    'boomerang': '🪃',
    'bored': '😦',
    'bouquet': '💐',
    'bow': '🏹',
    'bowl_spoon': '🥣',
    'bowling': '🎳',
    'boxing_glove': '🥊',
    'boy': '👦',
    'boy_tone1': '👦🏻',
    'boy_tone2': '👦🏼',
    'boy_tone3': '👦🏽',
    'boy_tone4': '👦🏾',
    'boy_tone5': '👦🏿',
    'brain': '🧠',
    'bread': '🍞',
    'breast_feeding': '🤱',
    'breast_feeding_tone1': '🤱🏻',
    'breast_feeding_tone2': '🤱🏼',
    'breast_feeding_tone3': '🤱🏽',
    'breast_feeding_tone4': '🤱🏾',
    'breast_feeding_tone5': '🤱🏿',
    'brick': '🧱',
    'bride_veil': '👰',
    'bride_veil_tone1': '👰🏻',
    'bride_veil_tone2': '👰🏼',
    'bride_veil_tone3': '👰🏽',
    'bride_veil_tone4': '👰🏾',
    'bride_veil_tone5': '👰🏿',
    'bridge_at_night': '🌉',
    'briefcase': '💼',
    'briefs': '🩲',
    'bright': '🔆',
    'broccoli': '🥦',
    'broken_heart': '💔',
    'broom': '🧹',
    'brown_circle': '🟤',
    'brown_heart': '🤎',
    'brown_square': '🟫',
    'bubble_tea': '🧋',
    'bucket': '🪣',
    'bug': '🐛',
    'bulb': '💡',
    'bullettrain': '🚅',
    'bullettrain_side': '🚄',
    'burrito': '🌯',
    'bus': '🚌',
    'bus_stop': '🚏',
    'bust_silhouette': '👤',
    'busts_silhouette': '👥',
    'butter': '🧈',
    'butterfly': '🦋',
    'cactus': '🌵',
    'cake': '🍰',
    'calendar': '📅',
    'calendar_spiral': '🗓️',
    'call_me': '🤙',
    'call_me_tone1': '🤙🏻',
    'call_me_tone2': '🤙🏼',
    'call_me_tone3': '🤙🏽',
    'call_me_tone4': '🤙🏾',
    'call_me_tone5': '🤙🏿',
    'camel': '🐪',
    'camera': '📷️',
    'camera_flash': '📸',
    'camping': '🏕️',
    'cancer': '♋️',
    'candle': '🕯️',
    'candy': '🍬',
    'canned_food': '🥫',
    'canoe': '🛶',
    'capricorn': '♑️',
    'card_box': '🗃️',
    'card_index': '📇',
    'carousel_horse': '🎠',
    'carp_streamer': '🎏',
    'carrot': '🥕',
    'castle': '🏰',
    'cat': '🐈️',
    'cat_face': '🐱',
    'cd': '💿️',
    'celebrating': '🥳',
    'censored': '🤬',
    'chains': '⛓️',
    'chair': '🪑',
    'champagne': '🍾',
    'champagne_glass': '🥂',
    'chart_down': '📉',
    'chart_up': '📈',
    'check_mark': '✔️',
    'checked_ballot': '☑️',
    'checkered_flag': '🏁',
    'cheerless': '🙁',
    'cheese': '🧀',
    'cherries': '🍒',
    'cherry_blossom': '🌸',
    'chess_pawn': '♟️',
    'chestnut': '🌰',
    'chicken': '🐔',
    'child': '🧒',
    'child_tone1': '🧒🏻',
    'child_tone2': '🧒🏼',
    'child_tone3': '🧒🏽',
    'child_tone4': '🧒🏾',
    'child_tone5': '🧒🏿',
    'children_crossing': '🚸',
    'chipmunk': '🐿️',
    'chocolate_bar': '🍫',
    'chopsticks': '🥢',
    'christmas_tree': '🎄',
    'church': '⛪️',
    'cigarette': '🚬',
    'cinema': '🎦',
    'circus_tent': '🎪',
    'cityscape': '🏙️',
    'cl': '🆑',
    'clamp': '🗜️',
    'clap': '👏',
    'clap_tone1': '👏🏻',
    'clap_tone2': '👏🏼',
    'clap_tone3': '👏🏽',
    'clap_tone4': '👏🏾',
    'clap_tone5': '👏🏿',
    'clapper': '🎬️',
    'classical_building': '🏛️',
    'clipboard': '📋️',
    'clock': '🕰️',
    'clock1': '🕐️',
    'clock10': '🕙️',
    'clock1030': '🕥️',
    'clock11': '🕚️',
    'clock1130': '🕦️',
    'clock12': '🕛️',
    'clock1230': '🕧️',
    'clock130': '🕜️',
    'clock2': '🕑️',
    'clock230': '🕝️',
    'clock3': '🕒️',
    'clock330': '🕞️',
    'clock4': '🕓️',
    'clock430': '🕟️',
    'clock5': '🕔️',
    'clock530': '🕠️',
    'clock6': '🕕️',
    'clock630': '🕡️',
    'clock7': '🕖️',
    'clock730': '🕢️',
    'clock8': '🕗️',
    'clock830': '🕣️',
    'clock9': '🕘️',
    'clock930': '🕤️',
    'clockwise': '🔃',
    'closed_book': '📕',
    'closed_umbrella': '🌂',
    'cloud': '☁️',
    'cloudy': '🌥️',
    'clown': '🤡',
    'clubs': '♣️',
    'clutch_bag': '👝',
    'coat': '🧥',
    'cockroach': '🪳',
    'cocktail': '🍸️',
    'cocky': '😏',
    'coconut': '🥥',
    'coffee': '☕️',
    'coffin': '⚰️',
    'coin': '🪙',
    'cold_sweat': '😰',
    'collision': '💥',
    'comet': '☄️',
    'compass': '🧭',
    'compression': '🗜️',
    'computer': '🖥️',
    'computer_mouse': '🖱️',
    'confetti_ball': '🎊',
    'confident': '😎',
    'confounded': '😖',
    'confused': '😕',
    'construction': '🚧',
    'construction_site': '🏗️',
    'construction_worker': '👷',
    'construction_worker_tone1': '👷🏻',
    'construction_worker_tone2': '👷🏼',
    'construction_worker_tone3': '👷🏽',
    'construction_worker_tone4': '👷🏾',
    'construction_worker_tone5': '👷🏿',
    'contempt': '🤨',
    'control_knobs': '🎛️',
    'convenience_store': '🏪',
    'cookie': '🍪',
    'cooking': '🍳',
    'cool': '🆒',
    'copyright': '©️',
    'corn': '🌽',
    'couch': '🛋️',
    'counter_clockwise': '🔄',
    'couple': '💏',
    'couple_heart': '💑',
    'couple_mm': '👨‍❤️‍👨',
    'couple_mw': '👩‍❤️‍👨',
    'couple_wm': '👩‍❤️‍👨',
    'couple_ww': '👩‍❤️‍👩',
    'cow': '🐄',
    'cow_face': '🐮',
    'cowboy': '🤠',
    'coy': '😉',
    'crab': '🦀',
    'crayon': '🖍️',
    'crazy': '🤪',
    'credit_card': '💳️',
    'crescent_moon': '🌙',
    'cricket': '🦗',
    'cricket_game': '🏏',
    'crocodile': '🐊',
    'croissant': '🥐',
    'cross': '✝️',
    'cross_mark': '❌',
    'cross_mark_button': '❎',
    'crossbones': '☠️',
    'crossed_flags': '🎌',
    'crossed_swords': '⚔️',
    'crown': '👑',
    'cruise_ship': '🛳️',
    'cry': '😢',
    'crying_cat': '😿',
    'crystal_ball': '🔮',
    'cucumber': '🥒',
    'cup_straw': '🥤',
    'cupcake': '🧁',
    'cupid': '💘',
    'curious': '🤔',
    'curling_stone': '🥌',
    'curly_haired_man': '👨‍🦱',
    'curly_haired_man_tone1': '👨🏻‍🦱',
    'curly_haired_man_tone2': '👨🏼‍🦱',
    'curly_haired_man_tone3': '👨🏽‍🦱',
    'curly_haired_man_tone4': '👨🏾‍🦱',
    'curly_haired_man_tone5': '👨🏿‍🦱',
    'curly_haired_person': '🧑‍🦱',
    'curly_haired_person_tone1': '🧑🏻‍🦱',
    'curly_haired_person_tone2': '🧑🏼‍🦱',
    'curly_haired_person_tone3': '🧑🏽‍🦱',
    'curly_haired_person_tone4': '🧑🏾‍🦱',
    'curly_haired_person_tone5': '🧑🏿‍🦱',
    'curly_haired_woman': '👩‍🦱',
    'curly_haired_woman_tone1': '👩🏻‍🦱',
    'curly_haired_woman_tone2': '👩🏼‍🦱',
    'curly_haired_woman_tone3': '👩🏽‍🦱',
    'curly_haired_woman_tone4': '👩🏾‍🦱',
    'curly_haired_woman_tone5': '👩🏿‍🦱',
    'curly_loop': '➰',
    'currency_exchange': '💱',
    'curry': '🍛',
    'custard': '🍮',
    'customs': '🛃',
    'cut_of_meat': '🥩',
    'cyclone': '🌀',
    'dagger': '🗡️',
    'dancer': '💃',
    'dancer_tone1': '💃🏻',
    'dancer_tone2': '💃🏼',
    'dancer_tone3': '💃🏽',
    'dancer_tone4': '💃🏾',
    'dancer_tone5': '💃🏿',
    'dango': '🍡',
    'dart': '🎯',
    'dash': '💨',
    'date': '📅',
    'deciduous_tree': '🌳',
    'decorative_notebook': '📔',
    'deer': '🦌',
    'department_store': '🏬',
    'desert': '🏜️',
    'desktop': '🖥️',
    'detective': '🕵️',
    'detective_tone1': '🕵🏻',
    'detective_tone2': '🕵🏼',
    'detective_tone3': '🕵🏽',
    'detective_tone4': '🕵🏾',
    'detective_tone5': '🕵🏿',
    'diamond_dot': '💠',
    'diamonds': '♦️',
    'dim': '🔅',
    'disappointed': '😞',
    'disbelief': '🙄',
    'disguised_face': '🥸',
    'disk': '💿️',
    'distressed': '😭',
    'dividers': '🗂️',
    'diving_mask': '🤿',
    'division': '➗',
    'diya_lamp': '🪔',
    'dizzy': '😵',
    'dizzy_star': '💫',
    'dna': '🧬',
    'do_not_litter': '🚯',
    'dodo': '🦤',
    'dog': '🐕️',
    'dog_face': '🐶',
    'dollar': '💵',
    'dollar_sign': '💲',
    'dolls': '🎎',
    'dolphin': '🐬',
    'door': '🚪',
    'double_curly_loop': '➿',
    'double_exclamation': '‼️',
    'double_helix': '🧬',
    'doughnut': '🍩',
    'dove': '🕊️',
    'down_button': '🔽',
    'down_red_triangle': '🔻',
    'dragon': '🐉',
    'dragon_face': '🐲',
    'dress': '👗',
    'dress_shoe': '👞',
    'drooling': '🤤',
    'droplet': '💧',
    'drum': '🥁',
    'duck': '🦆',
    'dumpling': '🥟',
    'dusk': '🌆',
    'dvd': '📀',
    'eagle': '🦅',
    'ear': '👂️',
    'ear_of_rice': '🌾',
    'ear_tone1': '👂🏻',
    'ear_tone2': '👂🏼',
    'ear_tone3': '👂🏽',
    'ear_tone4': '👂🏾',
    'ear_tone5': '👂🏿',
    'earth_africa': '🌍️',
    'earth_americas': '🌎️',
    'earth_asia': '🌏️',
    'ecstatic': '🙃',
    'egg': '🥚',
    'eggplant': '🍆',
    'eight': '8️⃣',
    'eight_pointed_star': '✴️',
    'eight_spoked_asterisk': '✳️',
    'eject': '⏏️',
    'electric_plug': '🔌',
    'elephant': '🐘',
    'elevator': '🛗',
    'elf': '🧝',
    'elf_tone1': '🧝🏻',
    'elf_tone2': '🧝🏼',
    'elf_tone3': '🧝🏽',
    'elf_tone4': '🧝🏾',
    'elf_tone5': '🧝🏿',
    'email': '📧',
    'embarrassed': '😅',
    'end': '🔚',
    'england': '🏴󠁧󠁢󠁥󠁮󠁧󠁿',
    'enraged': '😡',
    'entertained': '🤣',
    'envelope': '✉️',
    'envelope_arrow': '📩',
    'euro': '💶',
    'european_castle': '🏰',
    'evergreen_tree': '🌲',
    'exclamation': '❗️',
    'exclamation_question': '⁉️',
    'exhausted': '😴',
    'exploding_head': '🤯',
    'expressionless': '😑',
    'eye': '👁️',
    'eye_bubble': '👁️‍🗨️',
    'eyes': '👀',
    'facetious': '😝',
    'factory': '🏭️',
    'fairy': '🧚',
    'fairy_tone1': '🧚🏻',
    'fairy_tone2': '🧚🏼',
    'fairy_tone3': '🧚🏽',
    'fairy_tone4': '🧚🏾',
    'fairy_tone5': '🧚🏿',
    'falafel': '🧆',
    'fallen_leaf': '🍂',
    'family': '👪️',
    'family_mb': '👨‍👦',
    'family_mbb': '👨‍👦‍👦',
    'family_mg': '👨‍👧',
    'family_mgb': '👨‍👧‍👦',
    'family_mgg': '👨‍👧‍👧',
    'family_mmb': '👨‍👨‍👦',
    'family_mmbb': '👨‍👨‍👦‍👦',
    'family_mmg': '👨‍👨‍👧',
    'family_mmgb': '👨‍👨‍👧‍👦',
    'family_mmgg': '👨‍👨‍👧‍👧',
    'family_mwb': '👨‍👩‍👦',
    'family_mwbb': '👨‍👩‍👦‍👦',
    'family_mwg': '👨‍👩‍👧',
    'family_mwgb': '👨‍👩‍👧‍👦',
    'family_mwgg': '👨‍👩‍👧‍👧',
    'family_wb': '👩‍👦',
    'family_wbb': '👩‍👦‍👦',
    'family_wg': '👩‍👧',
    'family_wgb': '👩‍👧‍👦',
    'family_wgg': '👩‍👧‍👧',
    'family_wwb': '👩‍👩‍👦',
    'family_wwbb': '👩‍👩‍👦‍👦',
    'family_wwg': '👩‍👩‍👧',
    'family_wwgb': '👩‍👩‍👧‍👦',
    'family_wwgg': '👩‍👩‍👧‍👧',
    'fast_down_button': '⏬',
    'fast_forward': '⏩️',
    'fast_up_button': '⏫',
    'fax': '📠',
    'fearful': '😨',
    'feather': '🪶',
    'feet': '🐾',
    'female': '♀️',
    'female_sign': '♀️',
    'ferris_wheel': '🎡',
    'ferry': '⛴️',
    'field_hockey': '🏑',
    'file_cabinet': '🗄️',
    'file_folder': '📁',
    'film_frames': '🎞️',
    'fingers_crossed': '🤞',
    'fingers_crossed_tone1': '🤞🏻',
    'fingers_crossed_tone2': '🤞🏼',
    'fingers_crossed_tone3': '🤞🏽',
    'fingers_crossed_tone4': '🤞🏾',
    'fingers_crossed_tone5': '🤞🏿',
    'fire': '🔥',
    'fire_engine': '🚒',
    'fire_extinguisher': '🧯',
    'firecracker': '🧨',
    'fireworks': '🎆',
    'first_place': '🥇',
    'first_quarter_moon': '🌓',
    'first_quarter_moon_face': '🌛',
    'fish': '🐟️',
    'fish_cake': '🍥',
    'fishing_pole': '🎣',
    'fist': '✊',
    'fist_tone1': '✊🏻',
    'fist_tone2': '✊🏼',
    'fist_tone3': '✊🏽',
    'fist_tone4': '✊🏾',
    'fist_tone5': '✊🏿',
    'five': '5️⃣',
    'flag_ad': '🇦🇩',
    'flag_ae': '🇦🇪',
    'flag_af': '🇦🇫',
    'flag_ag': '🇦🇬',
    'flag_ai': '🇦🇮',
    'flag_al': '🇦🇱',
    'flag_am': '🇦🇲',
    'flag_ao': '🇦🇴',
    'flag_aq': '🇦🇶',
    'flag_ar': '🇦🇷',
    'flag_as': '🇦🇸',
    'flag_at': '🇦🇹',
    'flag_au': '🇦🇺',
    'flag_aw': '🇦🇼',
    'flag_ax': '🇦🇽',
    'flag_az': '🇦🇿',
    'flag_ba': '🇧🇦',
    'flag_bb': '🇧🇧',
    'flag_bd': '🇧🇩',
    'flag_be': '🇧🇪',
    'flag_bf': '🇧🇫',
    'flag_bg': '🇧🇬',
    'flag_bh': '🇧🇭',
    'flag_bi': '🇧🇮',
    'flag_bj': '🇧🇯',
    'flag_bl': '🇧🇱',
    'flag_bm': '🇧🇲',
    'flag_bn': '🇧🇳',
    'flag_bo': '🇧🇴',
    'flag_bq': '🇧🇶',
    'flag_br': '🇧🇷',
    'flag_bs': '🇧🇸',
    'flag_bt': '🇧🇹',
    'flag_bw': '🇧🇼',
    'flag_by': '🇧🇾',
    'flag_bz': '🇧🇿',
    'flag_ca': '🇨🇦',
    'flag_cc': '🇨🇨',
    'flag_cd': '🇨🇩',
    'flag_cf': '🇨🇫',
    'flag_cg': '🇨🇬',
    'flag_ch': '🇨🇭',
    'flag_ci': '🇨🇮',
    'flag_ck': '🇨🇰',
    'flag_cl': '🇨🇱',
    'flag_cm': '🇨🇲',
    'flag_cn': '🇨🇳',
    'flag_co': '🇨🇴',
    'flag_cr': '🇨🇷',
    'flag_cu': '🇨🇺',
    'flag_cv': '🇨🇻',
    'flag_cw': '🇨🇼',
    'flag_cx': '🇨🇽',
    'flag_cy': '🇨🇾',
    'flag_cz': '🇨🇿',
    'flag_de': '🇩🇪',
    'flag_dj': '🇩🇯',
    'flag_dk': '🇩🇰',
    'flag_dm': '🇩🇲',
    'flag_do': '🇩🇴',
    'flag_dz': '🇩🇿',
    'flag_ec': '🇪🇨',
    'flag_ee': '🇪🇪',
    'flag_eg': '🇪🇬',
    'flag_eh': '🇪🇭',
    'flag_er': '🇪🇷',
    'flag_es': '🇪🇸',
    'flag_et': '🇪🇹',
    'flag_eu': '🇪🇺',
    'flag_fi': '🇫🇮',
    'flag_fj': '🇫🇯',
    'flag_fk': '🇫🇰',
    'flag_fm': '🇫🇲',
    'flag_fo': '🇫🇴',
    'flag_fr': '🇫🇷',
    'flag_ga': '🇬🇦',
    'flag_gb': '🇬🇧',
    'flag_gbeng': '🏴󠁧󠁢󠁥󠁮󠁧󠁿',
    'flag_gbsct': '🏴󠁧󠁢󠁳󠁣󠁴󠁿',
    'flag_gbwls': '🏴󠁧󠁢󠁷󠁬󠁳󠁿',
    'flag_gd': '🇬🇩',
    'flag_ge': '🇬🇪',
    'flag_gf': '🇬🇫',
    'flag_gg': '🇬🇬',
    'flag_gh': '🇬🇭',
    'flag_gi': '🇬🇮',
    'flag_gl': '🇬🇱',
    'flag_gm': '🇬🇲',
    'flag_gn': '🇬🇳',
    'flag_gp': '🇬🇵',
    'flag_gq': '🇬🇶',
    'flag_gr': '🇬🇷',
    'flag_gs': '🇬🇸',
    'flag_gt': '🇬🇹',
    'flag_gu': '🇬🇺',
    'flag_gw': '🇬🇼',
    'flag_gy': '🇬🇾',
    'flag_hk': '🇭🇰',
    'flag_hn': '🇭🇳',
    'flag_hr': '🇭🇷',
    'flag_ht': '🇭🇹',
    'flag_hu': '🇭🇺',
    'flag_ic': '🇮🇨',
    'flag_id': '🇮🇩',
    'flag_ie': '🇮🇪',
    'flag_il': '🇮🇱',
    'flag_im': '🇮🇲',
    'flag_in': '🇮🇳',
    'flag_io': '🇮🇴',
    'flag_iq': '🇮🇶',
    'flag_ir': '🇮🇷',
    'flag_is': '🇮🇸',
    'flag_it': '🇮🇹',
    'flag_je': '🇯🇪',
    'flag_jm': '🇯🇲',
    'flag_jo': '🇯🇴',
    'flag_jp': '🇯🇵',
    'flag_ke': '🇰🇪',
    'flag_kg': '🇰🇬',
    'flag_kh': '🇰🇭',
    'flag_ki': '🇰🇮',
    'flag_km': '🇰🇲',
    'flag_kn': '🇰🇳',
    'flag_kp': '🇰🇵',
    'flag_kr': '🇰🇷',
    'flag_kw': '🇰🇼',
    'flag_ky': '🇰🇾',
    'flag_kz': '🇰🇿',
    'flag_la': '🇱🇦',
    'flag_lb': '🇱🇧',
    'flag_lc': '🇱🇨',
    'flag_li': '🇱🇮',
    'flag_lk': '🇱🇰',
    'flag_lr': '🇱🇷',
    'flag_ls': '🇱🇸',
    'flag_lt': '🇱🇹',
    'flag_lu': '🇱🇺',
    'flag_lv': '🇱🇻',
    'flag_ly': '🇱🇾',
    'flag_ma': '🇲🇦',
    'flag_mc': '🇲🇨',
    'flag_md': '🇲🇩',
    'flag_me': '🇲🇪',
    'flag_mg': '🇲🇬',
    'flag_mh': '🇲🇭',
    'flag_mk': '🇲🇰',
    'flag_ml': '🇲🇱',
    'flag_mm': '🇲🇲',
    'flag_mn': '🇲🇳',
    'flag_mo': '🇲🇴',
    'flag_mp': '🇲🇵',
    'flag_mq': '🇲🇶',
    'flag_mr': '🇲🇷',
    'flag_ms': '🇲🇸',
    'flag_mt': '🇲🇹',
    'flag_mu': '🇲🇺',
    'flag_mv': '🇲🇻',
    'flag_mw': '🇲🇼',
    'flag_mx': '🇲🇽',
    'flag_my': '🇲🇾',
    'flag_mz': '🇲🇿',
    'flag_na': '🇳🇦',
    'flag_nc': '🇳🇨',
    'flag_ne': '🇳🇪',
    'flag_nf': '🇳🇫',
    'flag_ng': '🇳🇬',
    'flag_ni': '🇳🇮',
    'flag_nl': '🇳🇱',
    'flag_no': '🇳🇴',
    'flag_np': '🇳🇵',
    'flag_nr': '🇳🇷',
    'flag_nu': '🇳🇺',
    'flag_nz': '🇳🇿',
    'flag_om': '🇴🇲',
    'flag_pa': '🇵🇦',
    'flag_pe': '🇵🇪',
    'flag_pf': '🇵🇫',
    'flag_pg': '🇵🇬',
    'flag_ph': '🇵🇭',
    'flag_pk': '🇵🇰',
    'flag_pl': '🇵🇱',
    'flag_pm': '🇵🇲',
    'flag_pn': '🇵🇳',
    'flag_pr': '🇵🇷',
    'flag_ps': '🇵🇸',
    'flag_pt': '🇵🇹',
    'flag_pw': '🇵🇼',
    'flag_py': '🇵🇾',
    'flag_qa': '🇶🇦',
    'flag_re': '🇷🇪',
    'flag_ro': '🇷🇴',
    'flag_rs': '🇷🇸',
    'flag_ru': '🇷🇺',
    'flag_rw': '🇷🇼',
    'flag_sa': '🇸🇦',
    'flag_sb': '🇸🇧',
    'flag_sc': '🇸🇨',
    'flag_sd': '🇸🇩',
    'flag_se': '🇸🇪',
    'flag_sg': '🇸🇬',
    'flag_sh': '🇸🇭',
    'flag_si': '🇸🇮',
    'flag_sk': '🇸🇰',
    'flag_sl': '🇸🇱',
    'flag_sm': '🇸🇲',
    'flag_sn': '🇸🇳',
    'flag_so': '🇸🇴',
    'flag_sr': '🇸🇷',
    'flag_ss': '🇸🇸',
    'flag_st': '🇸🇹',
    'flag_sv': '🇸🇻',
    'flag_sx': '🇸🇽',
    'flag_sy': '🇸🇾',
    'flag_sz': '🇸🇿',
    'flag_tc': '🇹🇨',
    'flag_td': '🇹🇩',
    'flag_tf': '🇹🇫',
    'flag_tg': '🇹🇬',
    'flag_th': '🇹🇭',
    'flag_tj': '🇹🇯',
    'flag_tk': '🇹🇰',
    'flag_tl': '🇹🇱',
    'flag_tm': '🇹🇲',
    'flag_tn': '🇹🇳',
    'flag_to': '🇹🇴',
    'flag_tr': '🇹🇷',
    'flag_tt': '🇹🇹',
    'flag_tv': '🇹🇻',
    'flag_tw': '🇹🇼',
    'flag_tz': '🇹🇿',
    'flag_ua': '🇺🇦',
    'flag_ug': '🇺🇬',
    'flag_us': '🇺🇸',
    'flag_uy': '🇺🇾',
    'flag_uz': '🇺🇿',
    'flag_va': '🇻🇦',
    'flag_vc': '🇻🇨',
    'flag_ve': '🇻🇪',
    'flag_vg': '🇻🇬',
    'flag_vi': '🇻🇮',
    'flag_vn': '🇻🇳',
    'flag_vu': '🇻🇺',
    'flag_wf': '🇼🇫',
    'flag_ws': '🇼🇸',
    'flag_xk': '🇽🇰',
    'flag_ye': '🇾🇪',
    'flag_yt': '🇾🇹',
    'flag_za': '🇿🇦',
    'flag_zm': '🇿🇲',
    'flag_zw': '🇿🇼',
    'flamingo': '🦩',
    'flashlight': '🔦',
    'flat_shoe': '🥿',
    'flatbread': '🫓',
    'fleur-de-lis': '⚜️',
    'flirty': '😘',
    'floppy_disk': '💾',
    'flower_cards': '🎴',
    'flushed': '😳',
    'fly': '🪰',
    'flying_disc': '🥏',
    'flying_saucer': '🛸',
    'fog': '🌫️',
    'foggy': '🌁',
    'fondue': '🫕',
    'foot': '🦶',
    'foot_tone1': '🦶🏻',
    'foot_tone2': '🦶🏼',
    'foot_tone3': '🦶🏽',
    'foot_tone4': '🦶🏾',
    'foot_tone5': '🦶🏿',
    'football': '🏈',
    'footprints': '👣',
    'fork_knife_plate': '🍽️',
    'fortune_cookie': '🥠',
    'fountain': '⛲️',
    'fountain_pen': '🖋️',
    'four': '4️⃣',
    'four_leaf_clover': '🍀',
    'fox_face': '🦊',
    'frame_photo': '🖼️',
    'free': '🆓',
    'freezing': '🥶',
    'french_bread': '🥖',
    'fried_shrimp': '🍤',
    'fries': '🍟',
    'frightened': '😱',
    'frog_face': '🐸',
    'frowning': '☹️',
    'frustrated': '😰',
    'fuel_pump': '⛽️',
    'full_moon': '🌕️',
    'full_moon_face': '🌝',
    'game_die': '🎲',
    'garlic': '🧄',
    'gasp': '🤭',
    'gear': '⚙️',
    'gem': '💎',
    'gemini': '♊️',
    'genie': '🧞',
    'germ': '🦠',
    'ghost': '👻',
    'gi': '🥋',
    'gift': '🎁',
    'giraffe': '🦒',
    'girl': '👧',
    'girl_tone1': '👧🏻',
    'girl_tone2': '👧🏼',
    'girl_tone3': '👧🏽',
    'girl_tone4': '👧🏾',
    'girl_tone5': '👧🏿',
    'glad': '😃',
    'glasses': '👓️',
    'gleeful': '😀',
    'globe': '🌐',
    'gloves': '🧤',
    'glowing_star': '🌟',
    'goal': '🥅',
    'goat': '🐐',
    'goblin': '👺',
    'goggles': '🥽',
    'golf': '⛳️',
    'gorilla': '🦍',
    'graduation_cap': '🎓️',
    'grapes': '🍇',
    'green_apple': '🍏',
    'green_book': '📗',
    'green_circle': '🟢',
    'green_heart': '💚',
    'green_square': '🟩',
    'grimaced': '😬',
    'grin': '😁',
    'grinning_cat': '😸',
    'guard': '💂',
    'guard_tone1': '💂🏻',
    'guard_tone2': '💂🏼',
    'guard_tone3': '💂🏽',
    'guard_tone4': '💂🏾',
    'guard_tone5': '💂🏿',
    'guide_dog': '🦮',
    'guitar': '🎸',
    'gun': '🔫',
    'haha': '😂',
    'halo': '😇',
    'hamburger': '🍔',
    'hammer': '🔨',
    'hammer_pick': '⚒️',
    'hammer_wrench': '🛠️',
    'hamster_face': '🐹',
    'handbag': '👜',
    'handicapped': '♿️',
    'handshake': '🤝',
    'happy': '😄',
    'happy_kiss': '😙',
    'hash': '#️⃣',
    'hatched_chick': '🐥',
    'hatching_chick': '🐣',
    'headphones': '🎧️',
    'headstone': '🪦',
    'hear_no_evil': '🙉',
    'hearing_aid': '🦻',
    'hearing_aid_tone1': '🦻🏻',
    'hearing_aid_tone2': '🦻🏼',
    'hearing_aid_tone3': '🦻🏽',
    'hearing_aid_tone4': '🦻🏾',
    'hearing_aid_tone5': '🦻🏿',
    'heart': '❤️',
    'heart_decoration': '💟',
    'heart_exclamation': '❣️',
    'heart_ribbon': '💝',
    'heartbeat': '💓',
    'heartpulse': '💗',
    'hearts': '♥️',
    'hedgehog': '🦔',
    'helicopter': '🚁',
    'helmet_cross': '⛑️',
    'herb': '🌿',
    'hero': '🦸',
    'hero_tone1': '🦸🏻',
    'hero_tone2': '🦸🏼',
    'hero_tone3': '🦸🏽',
    'hero_tone4': '🦸🏾',
    'hero_tone5': '🦸🏿',
    'hibiscus': '🌺',
    'high_brightness': '🔆',
    'high_heel': '👠',
    'high_voltage': '⚡️',
    'hiking_boot': '🥾',
    'hindu_temple': '🛕',
    'hippo': '🦛',
    'hockey': '🏒',
    'holding_hands_mm': '👬',
    'holding_hands_mm_tone1': '👬🏻',
    'holding_hands_mm_tone2': '👬🏼',
    'holding_hands_mm_tone3': '👬🏽',
    'holding_hands_mm_tone4': '👬🏾',
    'holding_hands_mm_tone5': '👬🏿',
    'holding_hands_mw': '👫',
    'holding_hands_mw_tone1': '👫🏻',
    'holding_hands_mw_tone2': '👫🏼',
    'holding_hands_mw_tone3': '👫🏽',
    'holding_hands_mw_tone4': '👫🏾',
    'holding_hands_mw_tone5': '👫🏿',
    'holding_hands_people': '🧑‍🤝‍🧑',
    'holding_hands_people_tone1': '🧑🏻‍🤝‍🧑🏻',
    'holding_hands_people_tone2': '🧑🏼‍🤝‍🧑🏼',
    'holding_hands_people_tone3': '🧑🏽‍🤝‍🧑🏽',
    'holding_hands_people_tone4': '🧑🏾‍🤝‍🧑🏾',
    'holding_hands_people_tone5': '🧑🏿‍🤝‍🧑🏿',
    'holding_hands_wm': '👫',
    'holding_hands_wm_tone1': '👫🏻',
    'holding_hands_wm_tone2': '👫🏼',
    'holding_hands_wm_tone3': '👫🏽',
    'holding_hands_wm_tone4': '👫🏾',
    'holding_hands_wm_tone5': '👫🏿',
    'holding_hands_ww': '👭',
    'holding_hands_ww_tone1': '👭🏻',
    'holding_hands_ww_tone2': '👭🏼',
    'holding_hands_ww_tone3': '👭🏽',
    'holding_hands_ww_tone4': '👭🏾',
    'holding_hands_ww_tone5': '👭🏿',
    'hole': '🕳️',
    'homes': '🏘️',
    'honey_pot': '🍯',
    'hook': '🪝',
    'hopeful': '😥',
    'horse': '🐎',
    'horse_face': '🐴',
    'horse_racing': '🏇',
    'horse_racing_tone1': '🏇🏻',
    'horse_racing_tone2': '🏇🏼',
    'horse_racing_tone3': '🏇🏽',
    'horse_racing_tone4': '🏇🏾',
    'horse_racing_tone5': '🏇🏿',
    'hospital': '🏥',
    'hot_pepper': '🌶️',
    'hotdog': '🌭',
    'hotel': '🏨',
    'hotsprings': '♨️',
    'hourglass': '⌛️',
    'hourglass_flowing': '⏳️',
    'house': '🏠️',
    'house_abandoned': '🏚️',
    'house_garden': '🏡',
    'hrmph': '😤',
    'hugging': '🤗',
    'hushed': '😯',
    'hut': '🛖',
    'ice': '🧊',
    'ice_cream': '🍨',
    'ice_skate': '⛸️',
    'icecream': '🍦',
    'id': '🆔',
    'ill': '😷',
    'imp': '😈',
    'in_bed': '🛌',
    'in_bed_tone1': '🛌🏻',
    'in_bed_tone2': '🛌🏼',
    'in_bed_tone3': '🛌🏽',
    'in_bed_tone4': '🛌🏾',
    'in_bed_tone5': '🛌🏿',
    'inbox_tray': '📥️',
    'incoming_envelope': '📨',
    'indifferent': '😐️',
    'infinity': '♾️',
    'info': 'ℹ️',
    'injured': '🤕',
    'innocent': '😇',
    'interrobang': '⁉️',
    'iphone': '📱',
    'island': '🏝️',
    'ja_acceptable': '🉑',
    'ja_application': '🈸',
    'ja_bargain': '🉐',
    'ja_beginner': '🔰',
    'ja_chart': '💹',
    'ja_congratulations': '㊗️',
    'ja_discount': '🈹',
    'ja_free_of_charge': '🈚️',
    'ja_here': '🈁',
    'ja_monthly_amount': '🈷️',
    'ja_no_vacancy': '🈵',
    'ja_not_free_of_carge': '🈶',
    'ja_open_for_business': '🈺',
    'ja_passing_grade': '🈴',
    'ja_post_office': '🏣',
    'ja_prohibited': '🈲',
    'ja_reserved': '🈯️',
    'ja_secret': '㊙️',
    'ja_service_charge': '🈂️',
    'ja_vacancy': '🈳',
    'jack_o_lantern': '🎃',
    'japan': '🗾',
    'japanese_castle': '🏯',
    'jeans': '👖',
    'jigsaw': '🧩',
    'jolly_roger': '🏴‍☠️',
    'joy': '😂',
    'joyful': '😂',
    'joyful_cat': '😹',
    'joystick': '🕹️',
    'juice_box': '🧃',
    'kaaba': '🕋',
    'kangaroo': '🦘',
    'key': '🔑',
    'keyboard': '⌨️',
    'kimono': '👘',
    'kiss': '😗',
    'kiss_lips': '💋',
    'kiss_mm': '👨‍❤️‍💋‍👨',
    'kiss_mw': '👩‍❤️‍💋‍👨',
    'kiss_wm': '👩‍❤️‍💋‍👨',
    'kiss_ww': '👩‍❤️‍💋‍👩',
    'kissing_cat': '😽',
    'kite': '🪁',
    'kiwi': '🥝',
    'knife': '🔪',
    'knot': '🪢',
    'koala_face': '🐨',
    'koko': '🈁',
    'lab_coat': '🥼',
    'label': '🏷️',
    'lacrosse': '🥍',
    'ladder': '🪜',
    'lady_bug': '🐞',
    'laptop': '💻️',
    'large_black_square': '⬛️',
    'large_blue_diamond': '🔷',
    'large_orange_diamond': '🔶',
    'large_white_square': '⬜️',
    'last_quarter_moon': '🌗',
    'last_quarter_moon_face': '🌜️',
    'laugh': '😆',
    'leafy_green': '🥬',
    'leaves': '🍃',
    'ledger': '📒',
    'left_facing_fist': '🤛',
    'left_facing_fist_tone1': '🤛🏻',
    'left_facing_fist_tone2': '🤛🏼',
    'left_facing_fist_tone3': '🤛🏽',
    'left_facing_fist_tone4': '🤛🏾',
    'left_facing_fist_tone5': '🤛🏿',
    'left_luggage': '🛅',
    'left_speech': '🗨️',
    'leg': '🦵',
    'leg_tone1': '🦵🏻',
    'leg_tone2': '🦵🏼',
    'leg_tone3': '🦵🏽',
    'leg_tone4': '🦵🏾',
    'leg_tone5': '🦵🏿',
    'lemon': '🍋',
    'leo': '♌️',
    'leopard': '🐆',
    'level_slider': '🎚️',
    'levitate': '🕴️',
    'levitate_tone1': '🕴🏻',
    'levitate_tone2': '🕴🏼',
    'levitate_tone3': '🕴🏽',
    'levitate_tone4': '🕴🏾',
    'levitate_tone5': '🕴🏿',
    'libra': '♎️',
    'light_bulb': '💡',
    'light_rail': '🚈',
    'lightning': '🌩️',
    'link': '🔗',
    'lion_face': '🦁',
    'lips': '👄',
    'lipstick': '💄',
    'litter_bin': '🚮',
    'lizard': '🦎',
    'llama': '🦙',
    'lmao': '😝',
    'lobster': '🦞',
    'lock': '🔒️',
    'locked_key': '🔐',
    'locked_pen': '🔏',
    'lol': '😆',
    'lollipop': '🍭',
    'long_drum': '🪘',
    'lorry': '🚛',
    'lotion': '🧴',
    'loud_sound': '🔊',
    'loudspeaker': '📢',
    'love': '🥰',
    'love_hotel': '🏩',
    'love_letter': '💌',
    'love_you_gesture': '🤟',
    'love_you_gesture_tone1': '🤟🏻',
    'love_you_gesture_tone2': '🤟🏼',
    'love_you_gesture_tone3': '🤟🏽',
    'love_you_gesture_tone4': '🤟🏾',
    'love_you_gesture_tone5': '🤟🏿',
    'lovestruck': '😍',
    'lovestruck_cat': '😻',
    'loving_kiss': '😚',
    'low_brightness': '🔅',
    'low_sound': '🔈️',
    'luggage': '🧳',
    'lungs': '🫁',
    'lying': '🤥',
    'm': 'Ⓜ️',
    'mag': '🔍️',
    'mag_right': '🔎',
    'mage': '🧙',
    'mage_tone1': '🧙🏻',
    'mage_tone2': '🧙🏼',
    'mage_tone3': '🧙🏽',
    'mage_tone4': '🧙🏾',
    'mage_tone5': '🧙🏿',
    'magnet': '🧲',
    'mahjong': '🀄️',
    'mailbox': '📫️',
    'mailbox_closed': '📪️',
    'mailbox_mail': '📬️',
    'mailbox_no_mail': '📭️',
    'male': '♂️',
    'male_sign': '♂️',
    'mammoth': '🦣',
    'man': '👨',
    'man_artist': '👨‍🎨',
    'man_artist_tone1': '👨🏻‍🎨',
    'man_artist_tone2': '👨🏼‍🎨',
    'man_artist_tone3': '👨🏽‍🎨',
    'man_artist_tone4': '👨🏾‍🎨',
    'man_artist_tone5': '👨🏿‍🎨',
    'man_astronaut': '👨‍🚀',
    'man_astronaut_tone1': '👨🏻‍🚀',
    'man_astronaut_tone2': '👨🏼‍🚀',
    'man_astronaut_tone3': '👨🏽‍🚀',
    'man_astronaut_tone4': '👨🏾‍🚀',
    'man_astronaut_tone5': '👨🏿‍🚀',
    'man_biking': '🚴‍♂️',
    'man_biking_tone1': '🚴🏻‍♂️',
    'man_biking_tone2': '🚴🏼‍♂️',
    'man_biking_tone3': '🚴🏽‍♂️',
    'man_biking_tone4': '🚴🏾‍♂️',
    'man_biking_tone5': '🚴🏿‍♂️',
    'man_bowing': '🙇‍♂️',
    'man_bowing_tone1': '🙇🏻‍♂️',
    'man_bowing_tone2': '🙇🏼‍♂️',
    'man_bowing_tone3': '🙇🏽‍♂️',
    'man_bowing_tone4': '🙇🏾‍♂️',
    'man_bowing_tone5': '🙇🏿‍♂️',
    'man_cartwheeling': '🤸‍♂️',
    'man_cartwheeling_tone1': '🤸🏻‍♂️',
    'man_cartwheeling_tone2': '🤸🏼‍♂️',
    'man_cartwheeling_tone3': '🤸🏽‍♂️',
    'man_cartwheeling_tone4': '🤸🏾‍♂️',
    'man_cartwheeling_tone5': '🤸🏿‍♂️',
    'man_chinese_cap': '👲',
    'man_chinese_cap_tone1': '👲🏻',
    'man_chinese_cap_tone2': '👲🏼',
    'man_chinese_cap_tone3': '👲🏽',
    'man_chinese_cap_tone4': '👲🏾',
    'man_chinese_cap_tone5': '👲🏿',
    'man_climbing': '🧗‍♂️',
    'man_climbing_tone1': '🧗🏻‍♂️',
    'man_climbing_tone2': '🧗🏼‍♂️',
    'man_climbing_tone3': '🧗🏽‍♂️',
    'man_climbing_tone4': '🧗🏾‍♂️',
    'man_climbing_tone5': '🧗🏿‍♂️',
    'man_construction_worker': '👷‍♂️',
    'man_construction_worker_tone1': '👷🏻‍♂️',
    'man_construction_worker_tone2': '👷🏼‍♂️',
    'man_construction_worker_tone3': '👷🏽‍♂️',
    'man_construction_worker_tone4': '👷🏾‍♂️',
    'man_construction_worker_tone5': '👷🏿‍♂️',
    'man_cook': '👨‍🍳',
    'man_cook_tone1': '👨🏻‍🍳',
    'man_cook_tone2': '👨🏼‍🍳',
    'man_cook_tone3': '👨🏽‍🍳',
    'man_cook_tone4': '👨🏾‍🍳',
    'man_cook_tone5': '👨🏿‍🍳',
    'man_dancing': '🕺',
    'man_dancing_tone1': '🕺🏻',
    'man_dancing_tone2': '🕺🏼',
    'man_dancing_tone3': '🕺🏽',
    'man_dancing_tone4': '🕺🏾',
    'man_dancing_tone5': '🕺🏿',
    'man_deaf': '🧏‍♂️',
    'man_deaf_tone1': '🧏🏻‍♂️',
    'man_deaf_tone2': '🧏🏼‍♂️',
    'man_deaf_tone3': '🧏🏽‍♂️',
    'man_deaf_tone4': '🧏🏾‍♂️',
    'man_deaf_tone5': '🧏🏿‍♂️',
    'man_elf': '🧝‍♂️',
    'man_elf_tone1': '🧝🏻‍♂️',
    'man_elf_tone2': '🧝🏼‍♂️',
    'man_elf_tone3': '🧝🏽‍♂️',
    'man_elf_tone4': '🧝🏾‍♂️',
    'man_elf_tone5': '🧝🏿‍♂️',
    'man_facepalming': '🤦‍♂️',
    'man_facepalming_tone1': '🤦🏻‍♂️',
    'man_facepalming_tone2': '🤦🏼‍♂️',
    'man_facepalming_tone3': '🤦🏽‍♂️',
    'man_facepalming_tone4': '🤦🏾‍♂️',
    'man_facepalming_tone5': '🤦🏿‍♂️',
    'man_factory_worker': '👨‍🏭',
    'man_factory_worker_tone1': '👨🏻‍🏭',
    'man_factory_worker_tone2': '👨🏼‍🏭',
    'man_factory_worker_tone3': '👨🏽‍🏭',
    'man_factory_worker_tone4': '👨🏾‍🏭',
    'man_factory_worker_tone5': '👨🏿‍🏭',
    'man_fairy': '🧚‍♂️',
    'man_fairy_tone1': '🧚🏻‍♂️',
    'man_fairy_tone2': '🧚🏼‍♂️',
    'man_fairy_tone3': '🧚🏽‍♂️',
    'man_fairy_tone4': '🧚🏾‍♂️',
    'man_fairy_tone5': '🧚🏿‍♂️',
    'man_farmer': '👨‍🌾',
    'man_farmer_tone1': '👨🏻‍🌾',
    'man_farmer_tone2': '👨🏼‍🌾',
    'man_farmer_tone3': '👨🏽‍🌾',
    'man_farmer_tone4': '👨🏾‍🌾',
    'man_farmer_tone5': '👨🏿‍🌾',
    'man_feeding_baby': '👨‍🍼',
    'man_feeding_baby_tone1': '👨🏻‍🍼',
    'man_feeding_baby_tone2': '👨🏼‍🍼',
    'man_feeding_baby_tone3': '👨🏽‍🍼',
    'man_feeding_baby_tone4': '👨🏾‍🍼',
    'man_feeding_baby_tone5': '👨🏿‍🍼',
    'man_firefighter': '👨‍🚒',
    'man_firefighter_tone1': '👨🏻‍🚒',
    'man_firefighter_tone2': '👨🏼‍🚒',
    'man_firefighter_tone3': '👨🏽‍🚒',
    'man_firefighter_tone4': '👨🏾‍🚒',
    'man_firefighter_tone5': '👨🏿‍🚒',
    'man_frowning': '🙍‍♂️',
    'man_frowning_tone1': '🙍🏻‍♂️',
    'man_frowning_tone2': '🙍🏼‍♂️',
    'man_frowning_tone3': '🙍🏽‍♂️',
    'man_frowning_tone4': '🙍🏾‍♂️',
    'man_frowning_tone5': '🙍🏿‍♂️',
    'man_genie': '🧞‍♂️',
    'man_gesturing_no': '🙅‍♂️',
    'man_gesturing_no_tone1': '🙅🏻‍♂️',
    'man_gesturing_no_tone2': '🙅🏼‍♂️',
    'man_gesturing_no_tone3': '🙅🏽‍♂️',
    'man_gesturing_no_tone4': '🙅🏾‍♂️',
    'man_gesturing_no_tone5': '🙅🏿‍♂️',
    'man_gesturing_ok': '🙆‍♂️',
    'man_gesturing_ok_tone1': '🙆🏻‍♂️',
    'man_gesturing_ok_tone2': '🙆🏼‍♂️',
    'man_gesturing_ok_tone3': '🙆🏽‍♂️',
    'man_gesturing_ok_tone4': '🙆🏾‍♂️',
    'man_gesturing_ok_tone5': '🙆🏿‍♂️',
    'man_getting_face_massage': '💆‍♂️',
    'man_getting_face_massage_tone1': '💆🏻‍♂️',
    'man_getting_face_massage_tone2': '💆🏼‍♂️',
    'man_getting_face_massage_tone3': '💆🏽‍♂️',
    'man_getting_face_massage_tone4': '💆🏾‍♂️',
    'man_getting_face_massage_tone5': '💆🏿‍♂️',
    'man_getting_haircut': '💇‍♂️',
    'man_getting_haircut_tone1': '💇🏻‍♂️',
    'man_getting_haircut_tone2': '💇🏼‍♂️',
    'man_getting_haircut_tone3': '💇🏽‍♂️',
    'man_getting_haircut_tone4': '💇🏾‍♂️',
    'man_getting_haircut_tone5': '💇🏿‍♂️',
    'man_guard': '💂‍♂️',
    'man_guard_tone1': '💂🏻‍♂️',
    'man_guard_tone2': '💂🏼‍♂️',
    'man_guard_tone3': '💂🏽‍♂️',
    'man_guard_tone4': '💂🏾‍♂️',
    'man_guard_tone5': '💂🏿‍♂️',
    'man_handball': '🤾‍♂️',
    'man_handball_tone1': '🤾🏻‍♂️',
    'man_handball_tone2': '🤾🏼‍♂️',
    'man_handball_tone3': '🤾🏽‍♂️',
    'man_handball_tone4': '🤾🏾‍♂️',
    'man_handball_tone5': '🤾🏿‍♂️',
    'man_health_worker': '👨‍⚕️',
    'man_health_worker_tone1': '👨🏻‍⚕️',
    'man_health_worker_tone2': '👨🏼‍⚕️',
    'man_health_worker_tone3': '👨🏽‍⚕️',
    'man_health_worker_tone4': '👨🏾‍⚕️',
    'man_health_worker_tone5': '👨🏿‍⚕️',
    'man_hero': '🦸‍♂️',
    'man_hero_tone1': '🦸🏻‍♂️',
    'man_hero_tone2': '🦸🏼‍♂️',
    'man_hero_tone3': '🦸🏽‍♂️',
    'man_hero_tone4': '🦸🏾‍♂️',
    'man_hero_tone5': '🦸🏿‍♂️',
    'man_in_tuxedo': '🤵‍♂️',
    'man_in_tuxedo_tone1': '🤵🏻‍♂️',
    'man_in_tuxedo_tone2': '🤵🏼‍♂️',
    'man_in_tuxedo_tone3': '🤵🏽‍♂️',
    'man_in_tuxedo_tone4': '🤵🏾‍♂️',
    'man_in_tuxedo_tone5': '🤵🏿‍♂️',
    'man_judge': '👨‍⚖️',
    'man_judge_tone1': '👨🏻‍⚖️',
    'man_judge_tone2': '👨🏼‍⚖️',
    'man_judge_tone3': '👨🏽‍⚖️',
    'man_judge_tone4': '👨🏾‍⚖️',
    'man_judge_tone5': '👨🏿‍⚖️',
    'man_juggling': '🤹‍♂️',
    'man_juggling_tone1': '🤹🏻‍♂️',
    'man_juggling_tone2': '🤹🏼‍♂️',
    'man_juggling_tone3': '🤹🏽‍♂️',
    'man_juggling_tone4': '🤹🏾‍♂️',
    'man_juggling_tone5': '🤹🏿‍♂️',
    'man_kneeling': '🧎‍♂️',
    'man_kneeling_tone1': '🧎🏻‍♂️',
    'man_kneeling_tone2': '🧎🏼‍♂️',
    'man_kneeling_tone3': '🧎🏽‍♂️',
    'man_kneeling_tone4': '🧎🏾‍♂️',
    'man_kneeling_tone5': '🧎🏿‍♂️',
    'man_lotus_position': '🧘‍♂️',
    'man_lotus_position_tone1': '🧘🏻‍♂️',
    'man_lotus_position_tone2': '🧘🏼‍♂️',
    'man_lotus_position_tone3': '🧘🏽‍♂️',
    'man_lotus_position_tone4': '🧘🏾‍♂️',
    'man_lotus_position_tone5': '🧘🏿‍♂️',
    'man_mage': '🧙‍♂️',
    'man_mage_tone1': '🧙🏻‍♂️',
    'man_mage_tone2': '🧙🏼‍♂️',
    'man_mage_tone3': '🧙🏽‍♂️',
    'man_mage_tone4': '🧙🏾‍♂️',
    'man_mage_tone5': '🧙🏿‍♂️',
    'man_mechanic': '👨‍🔧',
    'man_mechanic_tone1': '👨🏻‍🔧',
    'man_mechanic_tone2': '👨🏼‍🔧',
    'man_mechanic_tone3': '👨🏽‍🔧',
    'man_mechanic_tone4': '👨🏾‍🔧',
    'man_mechanic_tone5': '👨🏿‍🔧',
    'man_motor_wheelchair': '👨‍🦼',
    'man_motor_wheelchair_tone1': '👨🏻‍🦼',
    'man_motor_wheelchair_tone2': '👨🏼‍🦼',
    'man_motor_wheelchair_tone3': '👨🏽‍🦼',
    'man_motor_wheelchair_tone4': '👨🏾‍🦼',
    'man_motor_wheelchair_tone5': '👨🏿‍🦼',
    'man_mountain_biking': '🚵‍♂️',
    'man_mountain_biking_tone1': '🚵🏻‍♂️',
    'man_mountain_biking_tone2': '🚵🏼‍♂️',
    'man_mountain_biking_tone3': '🚵🏽‍♂️',
    'man_mountain_biking_tone4': '🚵🏾‍♂️',
    'man_mountain_biking_tone5': '🚵🏿‍♂️',
    'man_office_worker': '👨‍💼',
    'man_office_worker_tone1': '👨🏻‍💼',
    'man_office_worker_tone2': '👨🏼‍💼',
    'man_office_worker_tone3': '👨🏽‍💼',
    'man_office_worker_tone4': '👨🏾‍💼',
    'man_office_worker_tone5': '👨🏿‍💼',
    'man_pilot': '👨‍✈️',
    'man_pilot_tone1': '👨🏻‍✈️',
    'man_pilot_tone2': '👨🏼‍✈️',
    'man_pilot_tone3': '👨🏽‍✈️',
    'man_pilot_tone4': '👨🏾‍✈️',
    'man_pilot_tone5': '👨🏿‍✈️',
    'man_police_officer': '👮‍♂️',
    'man_police_officer_tone1': '👮🏻‍♂️',
    'man_police_officer_tone2': '👮🏼‍♂️',
    'man_police_officer_tone3': '👮🏽‍♂️',
    'man_police_officer_tone4': '👮🏾‍♂️',
    'man_police_officer_tone5': '👮🏿‍♂️',
    'man_pouting': '🙎‍♂️',
    'man_pouting_tone1': '🙎🏻‍♂️',
    'man_pouting_tone2': '🙎🏼‍♂️',
    'man_pouting_tone3': '🙎🏽‍♂️',
    'man_pouting_tone4': '🙎🏾‍♂️',
    'man_pouting_tone5': '🙎🏿‍♂️',
    'man_probing_cane': '👨‍🦯',
    'man_probing_cane_tone1': '👨🏻‍🦯',
    'man_probing_cane_tone2': '👨🏼‍🦯',
    'man_probing_cane_tone3': '👨🏽‍🦯',
    'man_probing_cane_tone4': '👨🏾‍🦯',
    'man_probing_cane_tone5': '👨🏿‍🦯',
    'man_raising_hand': '🙋‍♂️',
    'man_raising_hand_tone1': '🙋🏻‍♂️',
    'man_raising_hand_tone2': '🙋🏼‍♂️',
    'man_raising_hand_tone3': '🙋🏽‍♂️',
    'man_raising_hand_tone4': '🙋🏾‍♂️',
    'man_raising_hand_tone5': '🙋🏿‍♂️',
    'man_rowing_boat': '🚣‍♂️',
    'man_rowing_boat_tone1': '🚣🏻‍♂️',
    'man_rowing_boat_tone2': '🚣🏼‍♂️',
    'man_rowing_boat_tone3': '🚣🏽‍♂️',
    'man_rowing_boat_tone4': '🚣🏾‍♂️',
    'man_rowing_boat_tone5': '🚣🏿‍♂️',
    'man_running': '🏃‍♂️',
    'man_running_tone1': '🏃🏻‍♂️',
    'man_running_tone2': '🏃🏼‍♂️',
    'man_running_tone3': '🏃🏽‍♂️',
    'man_running_tone4': '🏃🏾‍♂️',
    'man_running_tone5': '🏃🏿‍♂️',
    'man_scientist': '👨‍🔬',
    'man_scientist_tone1': '👨🏻‍🔬',
    'man_scientist_tone2': '👨🏼‍🔬',
    'man_scientist_tone3': '👨🏽‍🔬',
    'man_scientist_tone4': '👨🏾‍🔬',
    'man_scientist_tone5': '👨🏿‍🔬',
    'man_shrugging': '🤷‍♂️',
    'man_shrugging_tone1': '🤷🏻‍♂️',
    'man_shrugging_tone2': '🤷🏼‍♂️',
    'man_shrugging_tone3': '🤷🏽‍♂️',
    'man_shrugging_tone4': '🤷🏾‍♂️',
    'man_shrugging_tone5': '🤷🏿‍♂️',
    'man_singer': '👨‍🎤',
    'man_singer_tone1': '👨🏻‍🎤',
    'man_singer_tone2': '👨🏼‍🎤',
    'man_singer_tone3': '👨🏽‍🎤',
    'man_singer_tone4': '👨🏾‍🎤',
    'man_singer_tone5': '👨🏿‍🎤',
    'man_standing': '🧍‍♂️',
    'man_standing_tone1': '🧍🏻‍♂️',
    'man_standing_tone2': '🧍🏼‍♂️',
    'man_standing_tone3': '🧍🏽‍♂️',
    'man_standing_tone4': '🧍🏾‍♂️',
    'man_standing_tone5': '🧍🏿‍♂️',
    'man_steamy_room': '🧖‍♂️',
    'man_steamy_room_tone1': '🧖🏻‍♂️',
    'man_steamy_room_tone2': '🧖🏼‍♂️',
    'man_steamy_room_tone3': '🧖🏽‍♂️',
    'man_steamy_room_tone4': '🧖🏾‍♂️',
    'man_steamy_room_tone5': '🧖🏿‍♂️',
    'man_student': '👨‍🎓',
    'man_student_tone1': '👨🏻‍🎓',
    'man_student_tone2': '👨🏼‍🎓',
    'man_student_tone3': '👨🏽‍🎓',
    'man_student_tone4': '👨🏾‍🎓',
    'man_student_tone5': '👨🏿‍🎓',
    'man_surfing': '🏄‍♂️',
    'man_surfing_tone1': '🏄🏻‍♂️',
    'man_surfing_tone2': '🏄🏼‍♂️',
    'man_surfing_tone3': '🏄🏽‍♂️',
    'man_surfing_tone4': '🏄🏾‍♂️',
    'man_surfing_tone5': '🏄🏿‍♂️',
    'man_swimming': '🏊‍♂️',
    'man_swimming_tone1': '🏊🏻‍♂️',
    'man_swimming_tone2': '🏊🏼‍♂️',
    'man_swimming_tone3': '🏊🏽‍♂️',
    'man_swimming_tone4': '🏊🏾‍♂️',
    'man_swimming_tone5': '🏊🏿‍♂️',
    'man_teacher': '👨‍🏫',
    'man_teacher_tone1': '👨🏻‍🏫',
    'man_teacher_tone2': '👨🏼‍🏫',
    'man_teacher_tone3': '👨🏽‍🏫',
    'man_teacher_tone4': '👨🏾‍🏫',
    'man_teacher_tone5': '👨🏿‍🏫',
    'man_technologist': '👨‍💻',
    'man_technologist_tone1': '👨🏻‍💻',
    'man_technologist_tone2': '👨🏼‍💻',
    'man_technologist_tone3': '👨🏽‍💻',
    'man_technologist_tone4': '👨🏾‍💻',
    'man_technologist_tone5': '👨🏿‍💻',
    'man_tipping_hand': '💁‍♂️',
    'man_tipping_hand_tone1': '💁🏻‍♂️',
    'man_tipping_hand_tone2': '💁🏼‍♂️',
    'man_tipping_hand_tone3': '💁🏽‍♂️',
    'man_tipping_hand_tone4': '💁🏾‍♂️',
    'man_tipping_hand_tone5': '💁🏿‍♂️',
    'man_tone1': '👨🏻',
    'man_tone2': '👨🏼',
    'man_tone3': '👨🏽',
    'man_tone4': '👨🏾',
    'man_tone5': '👨🏿',
    'man_turban': '👳‍♂️',
    'man_turban_tone1': '👳🏻‍♂️',
    'man_turban_tone2': '👳🏼‍♂️',
    'man_turban_tone3': '👳🏽‍♂️',
    'man_turban_tone4': '👳🏾‍♂️',
    'man_turban_tone5': '👳🏿‍♂️',
    'man_tuxedo': '🤵',
    'man_tuxedo_tone1': '🤵🏻',
    'man_tuxedo_tone2': '🤵🏼',
    'man_tuxedo_tone3': '🤵🏽',
    'man_tuxedo_tone4': '🤵🏾',
    'man_tuxedo_tone5': '🤵🏿',
    'man_vampire': '🧛‍♂️',
    'man_vampire_tone1': '🧛🏻‍♂️',
    'man_vampire_tone2': '🧛🏼‍♂️',
    'man_vampire_tone3': '🧛🏽‍♂️',
    'man_vampire_tone4': '🧛🏾‍♂️',
    'man_vampire_tone5': '🧛🏿‍♂️',
    'man_veiled_bride': '👰‍♂️',
    'man_veiled_bride_tone1': '👰🏻‍♂️',
    'man_veiled_bride_tone2': '👰🏼‍♂️',
    'man_veiled_bride_tone3': '👰🏽‍♂️',
    'man_veiled_bride_tone4': '👰🏾‍♂️',
    'man_veiled_bride_tone5': '👰🏿‍♂️',
    'man_villain': '🦹‍♂️',
    'man_villain_tone1': '🦹🏻‍♂️',
    'man_villain_tone2': '🦹🏼‍♂️',
    'man_villain_tone3': '🦹🏽‍♂️',
    'man_villain_tone4': '🦹🏾‍♂️',
    'man_villain_tone5': '🦹🏿‍♂️',
    'man_walking': '🚶‍♂️',
    'man_walking_tone1': '🚶🏻‍♂️',
    'man_walking_tone2': '🚶🏼‍♂️',
    'man_walking_tone3': '🚶🏽‍♂️',
    'man_walking_tone4': '🚶🏾‍♂️',
    'man_walking_tone5': '🚶🏿‍♂️',
    'man_water_polo': '🤽‍♂️',
    'man_water_polo_tone1': '🤽🏻‍♂️',
    'man_water_polo_tone2': '🤽🏼‍♂️',
    'man_water_polo_tone3': '🤽🏽‍♂️',
    'man_water_polo_tone4': '🤽🏾‍♂️',
    'man_water_polo_tone5': '🤽🏿‍♂️',
    'man_wheelchair': '👨‍🦽',
    'man_wheelchair_tone1': '👨🏻‍🦽',
    'man_wheelchair_tone2': '👨🏼‍🦽',
    'man_wheelchair_tone3': '👨🏽‍🦽',
    'man_wheelchair_tone4': '👨🏾‍🦽',
    'man_wheelchair_tone5': '👨🏿‍🦽',
    'man_zombie': '🧟‍♂️',
    'mango': '🥭',
    'mans_shoe': '👞',
    'map': '🗺️',
    'maple_leaf': '🍁',
    'martial_arts_uniform': '🥋',
    'mask': '😷',
    'mate': '🧉',
    'meat_on_bone': '🍖',
    'mech_arm': '🦾',
    'mech_leg': '🦿',
    'medal': '🏅',
    'medical': '⚕️',
    'medium_black_square': '◼️',
    'medium_small_black_square': '◾️',
    'medium_small_white_square': '◽️',
    'medium_white_square': '◻️',
    'megaphone': '📣',
    'melon': '🍈',
    'memo': '📝',
    'men_bunny_ears_partying': '👯‍♂️',
    'men_wrestling': '🤼‍♂️',
    'menorah': '🕎',
    'mens': '🚹️',
    'mermaid': '🧜‍♀️',
    'mermaid_tone1': '🧜🏻‍♀️',
    'mermaid_tone2': '🧜🏼‍♀️',
    'mermaid_tone3': '🧜🏽‍♀️',
    'mermaid_tone4': '🧜🏾‍♀️',
    'mermaid_tone5': '🧜🏿‍♀️',
    'merman': '🧜‍♂️',
    'merman_tone1': '🧜🏻‍♂️',
    'merman_tone2': '🧜🏼‍♂️',
    'merman_tone3': '🧜🏽‍♂️',
    'merman_tone4': '🧜🏾‍♂️',
    'merman_tone5': '🧜🏿‍♂️',
    'merperson': '🧜',
    'merperson_tone1': '🧜🏻',
    'merperson_tone2': '🧜🏼',
    'merperson_tone3': '🧜🏽',
    'merperson_tone4': '🧜🏾',
    'merperson_tone5': '🧜🏿',
    'metal': '🤘',
    'metal_tone1': '🤘🏻',
    'metal_tone2': '🤘🏼',
    'metal_tone3': '🤘🏽',
    'metal_tone4': '🤘🏾',
    'metal_tone5': '🤘🏿',
    'metro': '🚇️',
    'microbe': '🦠',
    'microphone': '🎤',
    'microscope': '🔬',
    'middle_finger': '🖕',
    'middle_finger_tone1': '🖕🏻',
    'middle_finger_tone2': '🖕🏼',
    'middle_finger_tone3': '🖕🏽',
    'middle_finger_tone4': '🖕🏾',
    'middle_finger_tone5': '🖕🏿',
    'military_helmet': '🪖',
    'military_medal': '🎖️',
    'milk': '🥛',
    'milky_way': '🌌',
    'minibus': '🚐',
    'minidisc': '💽',
    'minus': '➖',
    'mirror': '🪞',
    'mischievous': '😜',
    'moai': '🗿',
    'mobile': '📱',
    'mobile_calling': '📲',
    'mobile_phone_off': '📴',
    'money_mouth': '🤑',
    'money_wings': '💸',
    'moneybag': '💰️',
    'monkey': '🐒',
    'monkey_face': '🐵',
    'monocle': '🧐',
    'monorail': '🚝',
    'moon_cake': '🥮',
    'moon_ceremony': '🎑',
    'mosque': '🕌',
    'mosquito': '🦟',
    'motor_scooter': '🛵',
    'motor_wheelchair': '🦼',
    'motorboat': '🛥️',
    'motorcycle': '🏍️',
    'motorway': '🛣️',
    'mount_fuji': '🗻',
    'mountain': '⛰️',
    'mountain_cableway': '🚠',
    'mountain_railway': '🚞',
    'mouse': '🐁',
    'mouse_face': '🐭',
    'mouse_trap': '🪤',
    'movie_camera': '🎥',
    'mrs_claus': '🤶',
    'mrs_claus_tone1': '🤶🏻',
    'mrs_claus_tone2': '🤶🏼',
    'mrs_claus_tone3': '🤶🏽',
    'mrs_claus_tone4': '🤶🏾',
    'mrs_claus_tone5': '🤶🏿',
    'multiplication': '✖️',
    'muscle': '💪',
    'muscle_tone1': '💪🏻',
    'muscle_tone2': '💪🏼',
    'muscle_tone3': '💪🏽',
    'muscle_tone4': '💪🏾',
    'muscle_tone5': '💪🏿',
    'mushroom': '🍄',
    'musical_keyboard': '🎹',
    'musical_note': '🎵',
    'musical_notes': '🎶',
    'musical_score': '🎼',
    'mute': '🔇',
    'mx_claus': '🧑‍🎄',
    'mx_claus_tone1': '🧑🏻‍🎄',
    'mx_claus_tone2': '🧑🏼‍🎄',
    'mx_claus_tone3': '🧑🏽‍🎄',
    'mx_claus_tone4': '🧑🏾‍🎄',
    'mx_claus_tone5': '🧑🏿‍🎄',
    'nail_care': '💅',
    'nail_care_tone1': '💅🏻',
    'nail_care_tone2': '💅🏼',
    'nail_care_tone3': '💅🏽',
    'nail_care_tone4': '💅🏾',
    'nail_care_tone5': '💅🏿',
    'name_badge': '📛',
    'nauseated': '🤢',
    'nazar_amulet': '🧿',
    'necktie': '👔',
    'nerd': '🤓',
    'nesting_dolls': '🪆',
    'neutral': '😐️',
    'new': '🆕',
    'new_moon': '🌑',
    'new_moon_face': '🌚',
    'newspaper': '📰',
    'next_track': '⏭️',
    'ng': '🆖',
    'night_stars': '🌃',
    'nine': '9️⃣',
    'ninja': '🥷',
    'ninja_tone1': '🥷🏻',
    'ninja_tone2': '🥷🏼',
    'ninja_tone3': '🥷🏽',
    'ninja_tone4': '🥷🏾',
    'ninja_tone5': '🥷🏿',
    'no': '👎️',
    'no_bell': '🔕',
    'no_bicycles': '🚳',
    'no_entry': '⛔️',
    'no_entry_sign': '🚫',
    'no_mobile_phones': '📵',
    'no_mouth': '😶',
    'no_pedestrians': '🚷',
    'no_smoking': '🚭️',
    'no_sound': '🔇',
    'no_tone1': '👎🏻',
    'no_tone2': '👎🏼',
    'no_tone3': '👎🏽',
    'no_tone4': '👎🏾',
    'no_tone5': '👎🏿',
    'non_potable_water': '🚱',
    'nose': '👃',
    'nose_tone1': '👃🏻',
    'nose_tone2': '👃🏼',
    'nose_tone3': '👃🏽',
    'nose_tone4': '👃🏾',
    'nose_tone5': '👃🏿',
    'notebook': '📓',
    'notepad_spiral': '🗒️',
    'nut_and_bolt': '🔩',
    'o': '⭕️',
    'o_blood': '🅾️',
    'ocean': '🌊',
    'octagonal_sign': '🛑',
    'octopus': '🐙',
    'oden': '🍢',
    'office': '🏢',
    'ogre': '👹',
    'oil_drum': '🛢️',
    'ok': '🆗',
    'ok_hand': '👌',
    'ok_hand_tone1': '👌🏻',
    'ok_hand_tone2': '👌🏼',
    'ok_hand_tone3': '👌🏽',
    'ok_hand_tone4': '👌🏾',
    'ok_hand_tone5': '👌🏿',
    'old_key': '🗝️',
    'older_adult': '🧓',
    'older_adult_tone1': '🧓🏻',
    'older_adult_tone2': '🧓🏼',
    'older_adult_tone3': '🧓🏽',
    'older_adult_tone4': '🧓🏾',
    'older_adult_tone5': '🧓🏿',
    'older_man': '👴',
    'older_man_tone1': '👴🏻',
    'older_man_tone2': '👴🏼',
    'older_man_tone3': '👴🏽',
    'older_man_tone4': '👴🏾',
    'older_man_tone5': '👴🏿',
    'older_woman': '👵',
    'older_woman_tone1': '👵🏻',
    'older_woman_tone2': '👵🏼',
    'older_woman_tone3': '👵🏽',
    'older_woman_tone4': '👵🏾',
    'older_woman_tone5': '👵🏿',
    'olive': '🫒',
    'om_symbol': '🕉️',
    'on': '🔛',
    'oncoming_automobile': '🚘️',
    'oncoming_bus': '🚍️',
    'oncoming_police_car': '🚔️',
    'oncoming_taxi': '🚖',
    'one': '1️⃣',
    'one_piece_swimsuit': '🩱',
    'onion': '🧅',
    'open_file_folder': '📂',
    'open_hands': '👐',
    'open_hands_tone1': '👐🏻',
    'open_hands_tone2': '👐🏼',
    'open_hands_tone3': '👐🏽',
    'open_hands_tone4': '👐🏾',
    'open_hands_tone5': '👐🏿',
    'ophiuchus': '⛎',
    'orange_book': '📙',
    'orange_circle': '🟠',
    'orange_heart': '🧡',
    'orange_square': '🟧',
    'orangutan': '🦧',
    'orthodox_cross': '☦️',
    'otter': '🦦',
    'outbox_tray': '📤️',
    'overcast': '🌤️',
    'overheating': '🥵',
    'owl': '🦉',
    'ox': '🐂',
    'oyster': '🦪',
    'p': '🅿️',
    'package': '📦️',
    'page_curl': '📃',
    'page_facing_up': '📄',
    'pager': '📟️',
    'paintbrush': '🖌️',
    'palette': '🎨',
    'palm_tree': '🌴',
    'palms_up': '🤲',
    'palms_up_tone1': '🤲🏻',
    'palms_up_tone2': '🤲🏼',
    'palms_up_tone3': '🤲🏽',
    'palms_up_tone4': '🤲🏾',
    'palms_up_tone5': '🤲🏿',
    'pancakes': '🥞',
    'panda_face': '🐼',
    'paperclip': '📎',
    'paperclips': '🖇️',
    'parachute': '🪂',
    'park': '🏞️',
    'parrot': '🦜',
    'part_alternation_mark': '〽️',
    'partly_sunny': '⛅️',
    'party': '🎉',
    'partying': '🥳',
    'passport_control': '🛂',
    'pause': '⏸️',
    'peace': '☮️',
    'peach': '🍑',
    'peacock': '🦚',
    'peanuts': '🥜',
    'pear': '🍐',
    'pen': '🖊️',
    'pencil': '✏️',
    'penguin': '🐧',
    'pensive': '😔',
    'people_bunny_ears_partying': '👯',
    'people_hugging': '🫂',
    'people_wrestling': '🤼',
    'performing_arts': '🎭️',
    'persevered': '😣',
    'person_artist': '🧑‍🎨',
    'person_artist_tone1': '🧑🏻‍🎨',
    'person_artist_tone2': '🧑🏼‍🎨',
    'person_artist_tone3': '🧑🏽‍🎨',
    'person_artist_tone4': '🧑🏾‍🎨',
    'person_artist_tone5': '🧑🏿‍🎨',
    'person_astronaut': '🧑‍🚀',
    'person_astronaut_tone1': '🧑🏻‍🚀',
    'person_astronaut_tone2': '🧑🏼‍🚀',
    'person_astronaut_tone3': '🧑🏽‍🚀',
    'person_astronaut_tone4': '🧑🏾‍🚀',
    'person_astronaut_tone5': '🧑🏿‍🚀',
    'person_biking': '🚴',
    'person_biking_tone1': '🚴🏻',
    'person_biking_tone2': '🚴🏼',
    'person_biking_tone3': '🚴🏽',
    'person_biking_tone4': '🚴🏾',
    'person_biking_tone5': '🚴🏿',
    'person_bouncing_ball': '⛹️',
    'person_bouncing_ball_tone1': '⛹🏻',
    'person_bouncing_ball_tone2': '⛹🏼',
    'person_bouncing_ball_tone3': '⛹🏽',
    'person_bouncing_ball_tone4': '⛹🏾',
    'person_bouncing_ball_tone5': '⛹🏿',
    'person_bowing': '🙇',
    'person_bowing_tone1': '🙇🏻',
    'person_bowing_tone2': '🙇🏼',
    'person_bowing_tone3': '🙇🏽',
    'person_bowing_tone4': '🙇🏾',
    'person_bowing_tone5': '🙇🏿',
    'person_cartwheel': '🤸',
    'person_cartwheel_tone1': '🤸🏻',
    'person_cartwheel_tone2': '🤸🏼',
    'person_cartwheel_tone3': '🤸🏽',
    'person_cartwheel_tone4': '🤸🏾',
    'person_cartwheel_tone5': '🤸🏿',
    'person_climbing': '🧗',
    'person_climbing_tone1': '🧗🏻',
    'person_climbing_tone2': '🧗🏼',
    'person_climbing_tone3': '🧗🏽',
    'person_climbing_tone4': '🧗🏾',
    'person_climbing_tone5': '🧗🏿',
    'person_cook': '🧑‍🍳',
    'person_cook_tone1': '🧑🏻‍🍳',
    'person_cook_tone2': '🧑🏼‍🍳',
    'person_cook_tone3': '🧑🏽‍🍳',
    'person_cook_tone4': '🧑🏾‍🍳',
    'person_cook_tone5': '🧑🏿‍🍳',
    'person_deaf': '🧏',
    'person_deaf_tone1': '🧏🏻',
    'person_deaf_tone2': '🧏🏼',
    'person_deaf_tone3': '🧏🏽',
    'person_deaf_tone4': '🧏🏾',
    'person_deaf_tone5': '🧏🏿',
    'person_facepalming': '🤦',
    'person_facepalming_tone1': '🤦🏻',
    'person_facepalming_tone2': '🤦🏼',
    'person_facepalming_tone3': '🤦🏽',
    'person_facepalming_tone4': '🤦🏾',
    'person_facepalming_tone5': '🤦🏿',
    'person_factory_worker': '🧑‍🏭',
    'person_factory_worker_tone1': '🧑🏻‍🏭',
    'person_factory_worker_tone2': '🧑🏼‍🏭',
    'person_factory_worker_tone3': '🧑🏽‍🏭',
    'person_factory_worker_tone4': '🧑🏾‍🏭',
    'person_factory_worker_tone5': '🧑🏿‍🏭',
    'person_farmer': '🧑‍🌾',
    'person_farmer_tone1': '🧑🏻‍🌾',
    'person_farmer_tone2': '🧑🏼‍🌾',
    'person_farmer_tone3': '🧑🏽‍🌾',
    'person_farmer_tone4': '🧑🏾‍🌾',
    'person_farmer_tone5': '🧑🏿‍🌾',
    'person_feeding_baby': '🧑‍🍼',
    'person_feeding_baby_tone1': '🧑🏻‍🍼',
    'person_feeding_baby_tone2': '🧑🏼‍🍼',
    'person_feeding_baby_tone3': '🧑🏽‍🍼',
    'person_feeding_baby_tone4': '🧑🏾‍🍼',
    'person_feeding_baby_tone5': '🧑🏿‍🍼',
    'person_fencing': '🤺',
    'person_firefighter': '🧑‍🚒',
    'person_firefighter_tone1': '🧑🏻‍🚒',
    'person_firefighter_tone2': '🧑🏼‍🚒',
    'person_firefighter_tone3': '🧑🏽‍🚒',
    'person_firefighter_tone4': '🧑🏾‍🚒',
    'person_firefighter_tone5': '🧑🏿‍🚒',
    'person_frowning': '🙍',
    'person_frowning_tone1': '🙍🏻',
    'person_frowning_tone2': '🙍🏼',
    'person_frowning_tone3': '🙍🏽',
    'person_frowning_tone4': '🙍🏾',
    'person_frowning_tone5': '🙍🏿',
    'person_gesturing_no': '🙅',
    'person_gesturing_no_tone1': '🙅🏻',
    'person_gesturing_no_tone2': '🙅🏼',
    'person_gesturing_no_tone3': '🙅🏽',
    'person_gesturing_no_tone4': '🙅🏾',
    'person_gesturing_no_tone5': '🙅🏿',
    'person_gesturing_ok': '🙆',
    'person_gesturing_ok_tone1': '🙆🏻',
    'person_gesturing_ok_tone2': '🙆🏼',
    'person_gesturing_ok_tone3': '🙆🏽',
    'person_gesturing_ok_tone4': '🙆🏾',
    'person_gesturing_ok_tone5': '🙆🏿',
    'person_getting_haircut': '💇',
    'person_getting_haircut_tone1': '💇🏻',
    'person_getting_haircut_tone2': '💇🏼',
    'person_getting_haircut_tone3': '💇🏽',
    'person_getting_haircut_tone4': '💇🏾',
    'person_getting_haircut_tone5': '💇🏿',
    'person_getting_massage': '💆',
    'person_getting_massage_tone1': '💆🏻',
    'person_getting_massage_tone2': '💆🏼',
    'person_getting_massage_tone3': '💆🏽',
    'person_getting_massage_tone4': '💆🏾',
    'person_getting_massage_tone5': '💆🏿',
    'person_golfing': '🏌️',
    'person_golfing_tone1': '🏌🏻',
    'person_golfing_tone2': '🏌🏼',
    'person_golfing_tone3': '🏌🏽',
    'person_golfing_tone4': '🏌🏾',
    'person_golfing_tone5': '🏌🏿',
    'person_handball': '🤾',
    'person_handball_tone1': '🤾🏻',
    'person_handball_tone2': '🤾🏼',
    'person_handball_tone3': '🤾🏽',
    'person_handball_tone4': '🤾🏾',
    'person_handball_tone5': '🤾🏿',
    'person_health_worker': '🧑‍⚕️',
    'person_health_worker_tone1': '🧑🏻‍⚕️',
    'person_health_worker_tone2': '🧑🏼‍⚕️',
    'person_health_worker_tone3': '🧑🏽‍⚕️',
    'person_health_worker_tone4': '🧑🏾‍⚕️',
    'person_health_worker_tone5': '🧑🏿‍⚕️',
    'person_judge': '🧑‍⚖️',
    'person_judge_tone1': '🧑🏻‍⚖️',
    'person_judge_tone2': '🧑🏼‍⚖️',
    'person_judge_tone3': '🧑🏽‍⚖️',
    'person_judge_tone4': '🧑🏾‍⚖️',
    'person_judge_tone5': '🧑🏿‍⚖️',
    'person_juggling': '🤹',
    'person_juggling_tone1': '🤹🏻',
    'person_juggling_tone2': '🤹🏼',
    'person_juggling_tone3': '🤹🏽',
    'person_juggling_tone4': '🤹🏾',
    'person_juggling_tone5': '🤹🏿',
    'person_kneeling': '🧎',
    'person_kneeling_tone1': '🧎🏻',
    'person_kneeling_tone2': '🧎🏼',
    'person_kneeling_tone3': '🧎🏽',
    'person_kneeling_tone4': '🧎🏾',
    'person_kneeling_tone5': '🧎🏿',
    'person_lifting_weights': '🏋️',
    'person_lifting_weights_tone1': '🏋🏻',
    'person_lifting_weights_tone2': '🏋🏼',
    'person_lifting_weights_tone3': '🏋🏽',
    'person_lifting_weights_tone4': '🏋🏾',
    'person_lifting_weights_tone5': '🏋🏿',
    'person_lotus_position': '🧘',
    'person_lotus_position_tone1': '🧘🏻',
    'person_lotus_position_tone2': '🧘🏼',
    'person_lotus_position_tone3': '🧘🏽',
    'person_lotus_position_tone4': '🧘🏾',
    'person_lotus_position_tone5': '🧘🏿',
    'person_mechanic': '🧑‍🔧',
    'person_mechanic_tone1': '🧑🏻‍🔧',
    'person_mechanic_tone2': '🧑🏼‍🔧',
    'person_mechanic_tone3': '🧑🏽‍🔧',
    'person_mechanic_tone4': '🧑🏾‍🔧',
    'person_mechanic_tone5': '🧑🏿‍🔧',
    'person_motor_wheelchair': '🧑‍🦼',
    'person_motor_wheelchair_tone1': '🧑🏻‍🦼',
    'person_motor_wheelchair_tone2': '🧑🏼‍🦼',
    'person_motor_wheelchair_tone3': '🧑🏽‍🦼',
    'person_motor_wheelchair_tone4': '🧑🏾‍🦼',
    'person_motor_wheelchair_tone5': '🧑🏿‍🦼',
    'person_mountain_biking': '🚵',
    'person_mountain_biking_tone1': '🚵🏻',
    'person_mountain_biking_tone2': '🚵🏼',
    'person_mountain_biking_tone3': '🚵🏽',
    'person_mountain_biking_tone4': '🚵🏾',
    'person_mountain_biking_tone5': '🚵🏿',
    'person_office_worker': '🧑‍💼',
    'person_office_worker_tone1': '🧑🏻‍💼',
    'person_office_worker_tone2': '🧑🏼‍💼',
    'person_office_worker_tone3': '🧑🏽‍💼',
    'person_office_worker_tone4': '🧑🏾‍💼',
    'person_office_worker_tone5': '🧑🏿‍💼',
    'person_pilot': '🧑‍✈️',
    'person_pilot_tone1': '🧑🏻‍✈️',
    'person_pilot_tone2': '🧑🏼‍✈️',
    'person_pilot_tone3': '🧑🏽‍✈️',
    'person_pilot_tone4': '🧑🏾‍✈️',
    'person_pilot_tone5': '🧑🏿‍✈️',
    'person_pouting': '🙎',
    'person_pouting_tone1': '🙎🏻',
    'person_pouting_tone2': '🙎🏼',
    'person_pouting_tone3': '🙎🏽',
    'person_pouting_tone4': '🙎🏾',
    'person_pouting_tone5': '🙎🏿',
    'person_probing_cane': '🧑‍🦯',
    'person_probing_cane_tone1': '🧑🏻‍🦯',
    'person_probing_cane_tone2': '🧑🏼‍🦯',
    'person_probing_cane_tone3': '🧑🏽‍🦯',
    'person_probing_cane_tone4': '🧑🏾‍🦯',
    'person_probing_cane_tone5': '🧑🏿‍🦯',
    'person_raising_hand': '🙋',
    'person_raising_hand_tone1': '🙋🏻',
    'person_raising_hand_tone2': '🙋🏼',
    'person_raising_hand_tone3': '🙋🏽',
    'person_raising_hand_tone4': '🙋🏾',
    'person_raising_hand_tone5': '🙋🏿',
    'person_rowing_boat': '🚣',
    'person_rowing_boat_tone1': '🚣🏻',
    'person_rowing_boat_tone2': '🚣🏼',
    'person_rowing_boat_tone3': '🚣🏽',
    'person_rowing_boat_tone4': '🚣🏾',
    'person_rowing_boat_tone5': '🚣🏿',
    'person_running': '🏃',
    'person_running_tone1': '🏃🏻',
    'person_running_tone2': '🏃🏼',
    'person_running_tone3': '🏃🏽',
    'person_running_tone4': '🏃🏾',
    'person_running_tone5': '🏃🏿',
    'person_scientist': '🧑‍🔬',
    'person_scientist_tone1': '🧑🏻‍🔬',
    'person_scientist_tone2': '🧑🏼‍🔬',
    'person_scientist_tone3': '🧑🏽‍🔬',
    'person_scientist_tone4': '🧑🏾‍🔬',
    'person_scientist_tone5': '🧑🏿‍🔬',
    'person_shrugging': '🤷',
    'person_shrugging_tone1': '🤷🏻',
    'person_shrugging_tone2': '🤷🏼',
    'person_shrugging_tone3': '🤷🏽',
    'person_shrugging_tone4': '🤷🏾',
    'person_shrugging_tone5': '🤷🏿',
    'person_singer': '🧑‍🎤',
    'person_singer_tone1': '🧑🏻‍🎤',
    'person_singer_tone2': '🧑🏼‍🎤',
    'person_singer_tone3': '🧑🏽‍🎤',
    'person_singer_tone4': '🧑🏾‍🎤',
    'person_singer_tone5': '🧑🏿‍🎤',
    'person_standing': '🧍',
    'person_standing_tone1': '🧍🏻',
    'person_standing_tone2': '🧍🏼',
    'person_standing_tone3': '🧍🏽',
    'person_standing_tone4': '🧍🏾',
    'person_standing_tone5': '🧍🏿',
    'person_steamy_room': '🧖',
    'person_steamy_room_tone1': '🧖🏻',
    'person_steamy_room_tone2': '🧖🏼',
    'person_steamy_room_tone3': '🧖🏽',
    'person_steamy_room_tone4': '🧖🏾',
    'person_steamy_room_tone5': '🧖🏿',
    'person_student': '🧑‍🎓',
    'person_student_tone1': '🧑🏻‍🎓',
    'person_student_tone2': '🧑🏼‍🎓',
    'person_student_tone3': '🧑🏽‍🎓',
    'person_student_tone4': '🧑🏾‍🎓',
    'person_student_tone5': '🧑🏿‍🎓',
    'person_surfing': '🏄️',
    'person_surfing_tone1': '🏄🏻',
    'person_surfing_tone2': '🏄🏼',
    'person_surfing_tone3': '🏄🏽',
    'person_surfing_tone4': '🏄🏾',
    'person_surfing_tone5': '🏄🏿',
    'person_swimming': '🏊️',
    'person_swimming_tone1': '🏊🏻',
    'person_swimming_tone2': '🏊🏼',
    'person_swimming_tone3': '🏊🏽',
    'person_swimming_tone4': '🏊🏾',
    'person_swimming_tone5': '🏊🏿',
    'person_teacher': '🧑‍🏫',
    'person_teacher_tone1': '🧑🏻‍🏫',
    'person_teacher_tone2': '🧑🏼‍🏫',
    'person_teacher_tone3': '🧑🏽‍🏫',
    'person_teacher_tone4': '🧑🏾‍🏫',
    'person_teacher_tone5': '🧑🏿‍🏫',
    'person_technologist': '🧑‍💻',
    'person_technologist_tone1': '🧑🏻‍💻',
    'person_technologist_tone2': '🧑🏼‍💻',
    'person_technologist_tone3': '🧑🏽‍💻',
    'person_technologist_tone4': '🧑🏾‍💻',
    'person_technologist_tone5': '🧑🏿‍💻',
    'person_tipping_hand': '💁',
    'person_tipping_hand_tone1': '💁🏻',
    'person_tipping_hand_tone2': '💁🏼',
    'person_tipping_hand_tone3': '💁🏽',
    'person_tipping_hand_tone4': '💁🏾',
    'person_tipping_hand_tone5': '💁🏿',
    'person_turban': '👳',
    'person_turban_tone1': '👳🏻',
    'person_turban_tone2': '👳🏼',
    'person_turban_tone3': '👳🏽',
    'person_turban_tone4': '👳🏾',
    'person_turban_tone5': '👳🏿',
    'person_veiled_bride': '👰',
    'person_veiled_bride_tone1': '👰🏻',
    'person_veiled_bride_tone2': '👰🏼',
    'person_veiled_bride_tone3': '👰🏽',
    'person_veiled_bride_tone4': '👰🏾',
    'person_veiled_bride_tone5': '👰🏿',
    'person_walking': '🚶',
    'person_walking_tone1': '🚶🏻',
    'person_walking_tone2': '🚶🏼',
    'person_walking_tone3': '🚶🏽',
    'person_walking_tone4': '🚶🏾',
    'person_walking_tone5': '🚶🏿',
    'person_water_polo': '🤽',
    'person_water_polo_tone1': '🤽🏻',
    'person_water_polo_tone2': '🤽🏼',
    'person_water_polo_tone3': '🤽🏽',
    'person_water_polo_tone4': '🤽🏾',
    'person_water_polo_tone5': '🤽🏿',
    'person_wheelchair': '🧑‍🦽',
    'person_wheelchair_tone1': '🧑🏻‍🦽',
    'person_wheelchair_tone2': '🧑🏼‍🦽',
    'person_wheelchair_tone3': '🧑🏽‍🦽',
    'person_wheelchair_tone4': '🧑🏾‍🦽',
    'person_wheelchair_tone5': '🧑🏿‍🦽',
    'petri_dish': '🧫',
    'pick': '⛏️',
    'pickup_truck': '🛻',
    'pie': '🥧',
    'pig': '🐖',
    'pig_face': '🐷',
    'pig_nose': '🐽',
    'pill': '💊',
    'pinata': '🪅',
    'pinch': '🤏',
    'pinch_tone1': '🤏🏻',
    'pinch_tone2': '🤏🏼',
    'pinch_tone3': '🤏🏽',
    'pinch_tone4': '🤏🏾',
    'pinch_tone5': '🤏🏿',
    'pinched_fingers': '🤌',
    'pinched_fingers_tone1': '🤌🏻',
    'pinched_fingers_tone2': '🤌🏼',
    'pinched_fingers_tone3': '🤌🏽',
    'pinched_fingers_tone4': '🤌🏾',
    'pinched_fingers_tone5': '🤌🏿',
    'pine_decor': '🎍',
    'pineapple': '🍍',
    'ping_pong': '🏓',
    'pirate_flag': '🏴‍☠️',
    'pisces': '♓️',
    'pistol': '🔫',
    'pizza': '🍕',
    'placard': '🪧',
    'place_of_worship': '🛐',
    'play': '▶️',
    'play_pause': '⏯️',
    'playful': '😛',
    'pleading': '🥺',
    'pleased': '🙂',
    'plunger': '🪠',
    'plus': '➕',
    'point_down': '👇️',
    'point_down_tone1': '👇🏻',
    'point_down_tone2': '👇🏼',
    'point_down_tone3': '👇🏽',
    'point_down_tone4': '👇🏾',
    'point_down_tone5': '👇🏿',
    'point_left': '👈️',
    'point_left_tone1': '👈🏻',
    'point_left_tone2': '👈🏼',
    'point_left_tone3': '👈🏽',
    'point_left_tone4': '👈🏾',
    'point_left_tone5': '👈🏿',
    'point_right': '👉️',
    'point_right_tone1': '👉🏻',
    'point_right_tone2': '👉🏼',
    'point_right_tone3': '👉🏽',
    'point_right_tone4': '👉🏾',
    'point_right_tone5': '👉🏿',
    'point_up': '☝️',
    'point_up_tone1': '☝🏻',
    'point_up_tone2': '☝🏼',
    'point_up_tone3': '☝🏽',
    'point_up_tone4': '☝🏾',
    'point_up_tone5': '☝🏿',
    'polar_bear_face': '🐻‍❄️',
    'police_car': '🚓',
    'police_light': '🚨',
    'police_officer': '👮',
    'police_officer_tone1': '👮🏻',
    'police_officer_tone2': '👮🏼',
    'police_officer_tone3': '👮🏽',
    'police_officer_tone4': '👮🏾',
    'police_officer_tone5': '👮🏿',
    'poodle': '🐩',
    'poop': '💩',
    'popcorn': '🍿',
    'post_office': '🏤',
    'postal_horn': '📯',
    'postbox': '📮',
    'potable_water': '🚰',
    'potato': '🥔',
    'potted_plant': '🪴',
    'pouch': '👝',
    'poultry_leg': '🍗',
    'pound': '💷',
    'pout': '😡',
    'pouting_cat': '😾',
    'pray': '🙏',
    'pray_tone1': '🙏🏻',
    'pray_tone2': '🙏🏼',
    'pray_tone3': '🙏🏽',
    'pray_tone4': '🙏🏾',
    'pray_tone5': '🙏🏿',
    'prayer_beads': '📿',
    'pregnant_woman': '🤰',
    'pregnant_woman_tone1': '🤰🏻',
    'pregnant_woman_tone2': '🤰🏼',
    'pregnant_woman_tone3': '🤰🏽',
    'pregnant_woman_tone4': '🤰🏾',
    'pregnant_woman_tone5': '🤰🏿',
    'pretentious': '🤑',
    'pretzel': '🥨',
    'previous_track': '⏮️',
    'prince': '🤴',
    'prince_tone1': '🤴🏻',
    'prince_tone2': '🤴🏼',
    'prince_tone3': '🤴🏽',
    'prince_tone4': '🤴🏾',
    'prince_tone5': '🤴🏿',
    'princess': '👸',
    'princess_tone1': '👸🏻',
    'princess_tone2': '👸🏼',
    'princess_tone3': '👸🏽',
    'princess_tone4': '👸🏾',
    'princess_tone5': '👸🏿',
    'printer': '🖨️',
    'probing_cane': '🦯',
    'projector': '📽️',
    'punch': '👊',
    'punch_tone1': '👊🏻',
    'punch_tone2': '👊🏼',
    'punch_tone3': '👊🏽',
    'punch_tone4': '👊🏾',
    'punch_tone5': '👊🏿',
    'purple_circle': '🟣',
    'purple_heart': '💜',
    'purple_square': '🟪',
    'purse': '👛',
    'pushpin': '📌',
    'puzzle_piece': '🧩',
    'question': '❓️',
    'rabbit': '🐇',
    'rabbit_face': '🐰',
    'raccoon': '🦝',
    'race_car': '🏎️',
    'radio': '📻️',
    'radio_button': '🔘',
    'radioactive': '☢️',
    'railway_car': '🚃',
    'railway_track': '🛤️',
    'rain': '🌧️',
    'rainbow': '🌈',
    'rainbow_flag': '🏳️‍🌈',
    'raised_backhand': '🤚',
    'raised_backhand_tone1': '🤚🏻',
    'raised_backhand_tone2': '🤚🏼',
    'raised_backhand_tone3': '🤚🏽',
    'raised_backhand_tone4': '🤚🏾',
    'raised_backhand_tone5': '🤚🏿',
    'raised_hand': '✋',
    'raised_hand_tone1': '✋🏻',
    'raised_hand_tone2': '✋🏼',
    'raised_hand_tone3': '✋🏽',
    'raised_hand_tone4': '✋🏾',
    'raised_hand_tone5': '✋🏿',
    'raised_hands': '🙌',
    'raised_hands_tone1': '🙌🏻',
    'raised_hands_tone2': '🙌🏼',
    'raised_hands_tone3': '🙌🏽',
    'raised_hands_tone4': '🙌🏾',
    'raised_hands_tone5': '🙌🏿',
    'ram': '🐏',
    'ramen': '🍜',
    'rat': '🐀',
    'razor': '🪒',
    'receipt': '🧾',
    'record': '⏺️',
    'recycle': '♻️',
    'red_car': '🚗',
    'red_circle': '🔴',
    'red_envelope': '🧧',
    'red_haired_man': '👨‍🦰',
    'red_haired_man_tone1': '👨🏻‍🦰',
    'red_haired_man_tone2': '👨🏼‍🦰',
    'red_haired_man_tone3': '👨🏽‍🦰',
    'red_haired_man_tone4': '👨🏾‍🦰',
    'red_haired_man_tone5': '👨🏿‍🦰',
    'red_haired_person': '🧑‍🦰',
    'red_haired_person_tone1': '🧑🏻‍🦰',
    'red_haired_person_tone2': '🧑🏼‍🦰',
    'red_haired_person_tone3': '🧑🏽‍🦰',
    'red_haired_person_tone4': '🧑🏾‍🦰',
    'red_haired_person_tone5': '🧑🏿‍🦰',
    'red_haired_woman': '👩‍🦰',
    'red_haired_woman_tone1': '👩🏻‍🦰',
    'red_haired_woman_tone2': '👩🏼‍🦰',
    'red_haired_woman_tone3': '👩🏽‍🦰',
    'red_haired_woman_tone4': '👩🏾‍🦰',
    'red_haired_woman_tone5': '👩🏿‍🦰',
    'red_lantern': '🏮',
    'red_square': '🟥',
    'registered': '®️',
    'relaxed': '☺️',
    'relieved': '😌',
    'reminder_ribbon': '🎗️',
    'repeat': '🔁',
    'repeat_single': '🔂',
    'restroom': '🚻',
    'reverse': '◀️',
    'revolving_hearts': '💞',
    'rewind': '⏪️',
    'rhino': '🦏',
    'ribbon': '🎀',
    'rice': '🍚',
    'rice_ball': '🍙',
    'rice_cracker': '🍘',
    'rice_scene': '🎑',
    'right_anger_speech': '🗯️',
    'right_bicep': '💪',
    'right_bicep_tone1': '💪🏻',
    'right_bicep_tone2': '💪🏼',
    'right_bicep_tone3': '💪🏽',
    'right_bicep_tone4': '💪🏾',
    'right_bicep_tone5': '💪🏿',
    'right_facing_fist': '🤜',
    'right_facing_fist_tone1': '🤜🏻',
    'right_facing_fist_tone2': '🤜🏼',
    'right_facing_fist_tone3': '🤜🏽',
    'right_facing_fist_tone4': '🤜🏾',
    'right_facing_fist_tone5': '🤜🏿',
    'ring': '💍',
    'ringed_planet': '🪐',
    'robot': '🤖',
    'rock': '🪨',
    'rocket': '🚀',
    'rofl': '🤣',
    'rolled_newspaper': '🗞️',
    'roller_coaster': '🎢',
    'roller_skate': '🛼',
    'rooster': '🐓',
    'rose': '🌹',
    'rosette': '🏵️',
    'rotating_light': '🚨',
    'round_pushpin': '📍',
    'rugby': '🏉',
    'running_shirt': '🎽',
    'sad': '☹️',
    'safety_pin': '🧷',
    'safety_vest': '🦺',
    'sagittarius': '♐️',
    'sailboat': '⛵️',
    'sake': '🍶',
    'salad': '🥗',
    'salt': '🧂',
    'sandal': '🩴',
    'sandwich': '🥪',
    'santa': '🎅',
    'santa_tone1': '🎅🏻',
    'santa_tone2': '🎅🏼',
    'santa_tone3': '🎅🏽',
    'santa_tone4': '🎅🏾',
    'santa_tone5': '🎅🏿',
    'sari': '🥻',
    'satellite': '🛰️',
    'satellite_antenna': '📡',
    'saturn': '🪐',
    'sauropod': '🦕',
    'savour': '😋',
    'saw': '🪚',
    'saxophone': '🎷',
    'scales': '⚖️',
    'scarf': '🧣',
    'school': '🏫',
    'scissors': '✂️',
    'scooter': '🛴',
    'scorpion': '🦂',
    'scorpius': '♏️',
    'scotland': '🏴󠁧󠁢󠁳󠁣󠁴󠁿',
    'scream': '😱',
    'screwdriver': '🪛',
    'scroll': '📜',
    'scuba_mask': '🤿',
    'seal': '🦭',
    'seat': '💺',
    'second_place': '🥈',
    'see_no_evil': '🙈',
    'seedling': '🌱',
    'selfie': '🤳',
    'selfie_tone1': '🤳🏻',
    'selfie_tone2': '🤳🏼',
    'selfie_tone3': '🤳🏽',
    'selfie_tone4': '🤳🏾',
    'selfie_tone5': '🤳🏿',
    'service_dog': '🐕‍🦺',
    'seven': '7️⃣',
    'sewing_needle': '🪡',
    'shallow_pan_of_food': '🥘',
    'shamed': '😓',
    'shamrock': '☘️',
    'shark': '🦈',
    'shaved_ice': '🍧',
    'sheep': '🐑',
    'shell': '🐚',
    'shield': '🛡️',
    'shinto_shrine': '⛩️',
    'ship': '🚢',
    'shirt': '👕',
    'shocked': '🤯',
    'shooting_star': '🌠',
    'shopping_bags': '🛍️',
    'shopping_cart': '🛒',
    'shorts': '🩳',
    'shower': '🚿',
    'shrimp': '🦐',
    'shuffle': '🔀',
    'shushing': '🤫',
    'sick': '🤒',
    'signal_strength': '📶',
    'silenced': '🤐',
    'six': '6️⃣',
    'six_pointed_star': '🔯',
    'skateboard': '🛹',
    'ski': '🎿',
    'skier': '⛷️',
    'skull': '💀',
    'skunk': '🦨',
    'sled': '🛷',
    'sleeping': '😴',
    'sleepy': '😪',
    'slight_frown': '🙁',
    'slight_smile': '🙂',
    'slot_machine': '🎰',
    'sloth': '🦥',
    'small_airplane': '🛩️',
    'small_black_square': '▪️',
    'small_blue_diamond': '🔹',
    'small_orange_diamond': '🔸',
    'small_white_square': '▫️',
    'smile': '😃',
    'smiling_cat': '😺',
    'smirk': '😏',
    'smirking_cat': '😼',
    'smoking': '🚬',
    'snail': '🐌',
    'snake': '🐍',
    'sneaker': '👟',
    'sneezing': '🤧',
    'snow': '🌨️',
    'snowboarder': '🏂️',
    'snowboarder_tone1': '🏂🏻',
    'snowboarder_tone2': '🏂🏼',
    'snowboarder_tone3': '🏂🏽',
    'snowboarder_tone4': '🏂🏾',
    'snowboarder_tone5': '🏂🏿',
    'snowflake': '❄️',
    'snowman': '⛄️',
    'snowy_mountain': '🏔️',
    'snowy_snowman': '☃️',
    'soap': '🧼',
    'sob': '😭',
    'soccer': '⚽️',
    'socks': '🧦',
    'softball': '🥎',
    'soon': '🔜',
    'sos': '🆘',
    'sound': '🔉',
    'space_invader': '👾',
    'spades': '♠️',
    'spaghetti': '🍝',
    'sparkle': '❇️',
    'sparkler': '🎇',
    'sparkles': '✨',
    'sparkling_heart': '💖',
    'speak_no_evil': '🙊',
    'speaker': '🔈️',
    'speaking_head': '🗣️',
    'speech': '💬',
    'speedboat': '🚤',
    'spider': '🕷️',
    'spider_web': '🕸️',
    'splayed_hand': '🖐️',
    'splayed_hand_tone1': '🖐🏻',
    'splayed_hand_tone2': '🖐🏼',
    'splayed_hand_tone3': '🖐🏽',
    'splayed_hand_tone4': '🖐🏾',
    'splayed_hand_tone5': '🖐🏿',
    'sponge': '🧽',
    'spool': '🧵',
    'spoon': '🥄',
    'spouting_whale': '🐳',
    'squid': '🦑',
    'stadium': '🏟️',
    'star': '⭐️',
    'star2': '🌟',
    'star3': '🌠',
    'star_and_crescent': '☪️',
    'star_of_david': '✡️',
    'starstruck': '🤩',
    'station': '🚉',
    'statue_of_liberty': '🗽',
    'steam_locomotive': '🚂',
    'stethoscope': '🩺',
    'stew': '🍲',
    'stop': '⏹️',
    'stop_sign': '🛑',
    'stopwatch': '⏱️',
    'storm': '⛈️',
    'straight_ruler': '📏',
    'strawberry': '🍓',
    'studio_microphone': '🎙️',
    'stuffed_flatbread': '🥙',
    'sun': '☀️',
    'sun_face': '🌞',
    'sunflower': '🌻',
    'sunglasses': '🕶️',
    'sunrise': '🌅',
    'sunrise_over_mountains': '🌄',
    'sunset': '🌇',
    'sunshower': '🌦️',
    'superhero': '🦸',
    'superhero_tone1': '🦸🏻',
    'superhero_tone2': '🦸🏼',
    'superhero_tone3': '🦸🏽',
    'superhero_tone4': '🦸🏾',
    'superhero_tone5': '🦸🏿',
    'supervillain': '🦹',
    'supervillain_tone1': '🦹🏻',
    'supervillain_tone2': '🦹🏼',
    'supervillain_tone3': '🦹🏽',
    'supervillain_tone4': '🦹🏾',
    'supervillain_tone5': '🦹🏿',
    'surprised': '😮',
    'sushi': '🍣',
    'suspension_railway': '🚟',
    'swan': '🦢',
    'sweat_drops': '💦',
    'sweat_smile': '😅',
    'sweet_potato': '🍠',
    'symbols': '🔣',
    'synagogue': '🕍',
    'syringe': '💉',
    'taco': '🌮',
    'tada': '🎉',
    'takeout_box': '🥡',
    'tamale': '🫔',
    'tanabata_tree': '🎋',
    'tangerine': '🍊',
    'taurus': '♉️',
    'taxi': '🚕',
    'tea': '🍵',
    'teapot': '🫖',
    'tear_smile': '🥲',
    'teddy_bear': '🧸',
    'telephone': '☎️',
    'telephone_receiver': '📞',
    'telescope': '🔭',
    'ten': '🔟',
    'tennis': '🎾',
    'tent': '⛺️',
    'test_tube': '🧪',
    'thermometer': '🌡️',
    'thinking': '🤔',
    'third_place': '🥉',
    'thought': '💭',
    'three': '3️⃣',
    'thumbsdown': '👎️',
    'thumbsdown_tone1': '👎🏻',
    'thumbsdown_tone2': '👎🏼',
    'thumbsdown_tone3': '👎🏽',
    'thumbsdown_tone4': '👎🏾',
    'thumbsdown_tone5': '👎🏿',
    'thumbsup': '👍️',
    'thumbsup_tone1': '👍🏻',
    'thumbsup_tone2': '👍🏼',
    'thumbsup_tone3': '👍🏽',
    'thumbsup_tone4': '👍🏾',
    'thumbsup_tone5': '👍🏿',
    'ticket': '🎫',
    'tickets': '🎟️',
    'tie': '👔',
    'tiger': '🐅',
    'tiger_face': '🐯',
    'timer': '⏲️',
    'tired': '😫',
    'tm': '™️',
    'toilet': '🚽',
    'toilet_paper': '🧻',
    'tokyo_tower': '🗼',
    'tomato': '🍅',
    'tongue': '👅',
    'tongue_out': '😛',
    'toolbox': '🧰',
    'tools': '🛠️',
    'tooth': '🦷',
    'toothbrush': '🪥',
    'top': '🔝',
    'top_hat': '🎩',
    'torn_calendar': '📆',
    'tornado': '🌪️',
    'trackball': '🖲️',
    'tractor': '🚜',
    'traffic_light': '🚥',
    'train': '🚆',
    'tram': '🚊',
    'tram_car': '🚋',
    'trans': '⚧️',
    'trashcan': '🗑️',
    'trex': '🦖',
    'triangle_flag': '🚩',
    'triangular_ruler': '📐',
    'trident': '🔱',
    'trolleybus': '🚎',
    'trophy': '🏆️',
    'tropical_drink': '🍹',
    'tropical_fish': '🐠',
    'truck': '🚚',
    'trumpet': '🎺',
    'tulip': '🌷',
    'tumbler_glass': '🥃',
    'turkey': '🦃',
    'turtle': '🐢',
    'tv': '📺️',
    'two': '2️⃣',
    'two_hearts': '💕',
    'two_hump_camel': '🐫',
    'umbrella': '☂️',
    'umbrella_rain': '☔️',
    'unamused': '😒',
    'underage': '🔞',
    'unicorn_face': '🦄',
    'unlock': '🔓️',
    'up': '🆙',
    'up_button': '🔼',
    'up_red_triangle': '🔺',
    'upper_abcd': '🔠',
    'upset': '😢',
    'upside_down': '🙃',
    'urn': '⚱️',
    'usa': '🇺🇸',
    'utensils': '🍴',
    'vacant': '😶',
    'vampire': '🧛',
    'vampire_tone1': '🧛🏻',
    'vampire_tone2': '🧛🏼',
    'vampire_tone3': '🧛🏽',
    'vampire_tone4': '🧛🏾',
    'vampire_tone5': '🧛🏿',
    'vertical_traffic_light': '🚦',
    'vhs': '📼',
    'vibration_mode': '📳',
    'victory': '✌️',
    'victory_tone1': '✌🏻',
    'victory_tone2': '✌🏼',
    'victory_tone3': '✌🏽',
    'victory_tone4': '✌🏾',
    'victory_tone5': '✌🏿',
    'video_camera': '📹️',
    'video_game': '🎮️',
    'villain': '🦹',
    'villain_tone1': '🦹🏻',
    'villain_tone2': '🦹🏼',
    'villain_tone3': '🦹🏽',
    'villain_tone4': '🦹🏾',
    'villain_tone5': '🦹🏿',
    'violin': '🎻',
    'virgo': '♍️',
    'volcano': '🌋',
    'volleyball': '🏐',
    'vomiting': '🤮',
    'vs': '🆚',
    'vulcan': '🖖',
    'vulcan_tone1': '🖖🏻',
    'vulcan_tone2': '🖖🏼',
    'vulcan_tone3': '🖖🏽',
    'vulcan_tone4': '🖖🏾',
    'vulcan_tone5': '🖖🏿',
    'waffle': '🧇',
    'wales': '🏴󠁧󠁢󠁷󠁬󠁳󠁿',
    'wand': '🪄',
    'waning_crescent_moon': '🌘',
    'waning_gibbous_moon': '🌖',
    'warning': '⚠️',
    'wastebasket': '🗑️',
    'watch': '⌚️',
    'water_buffalo': '🐃',
    'watermelon': '🍉',
    'wave': '👋',
    'wave_tone1': '👋🏻',
    'wave_tone2': '👋🏼',
    'wave_tone3': '👋🏽',
    'wave_tone4': '👋🏾',
    'wave_tone5': '👋🏿',
    'wavy_dash': '〰️',
    'waxing_crescent_moon': '🌒',
    'waxing_gibbous_moon': '🌔',
    'wc': '🚾',
    'weary': '😩',
    'weary_cat': '🙀',
    'wedding': '💒',
    'whale': '🐋',
    'wheel_of_dharma': '☸️',
    'wheelchair': '🦽',
    'white_check_mark': '✅',
    'white_circle': '⚪️',
    'white_exclamation': '❕',
    'white_flag': '🏳️',
    'white_flower': '💮',
    'white_haired_man': '👨‍🦳',
    'white_haired_man_tone1': '👨🏻‍🦳',
    'white_haired_man_tone2': '👨🏼‍🦳',
    'white_haired_man_tone3': '👨🏽‍🦳',
    'white_haired_man_tone4': '👨🏾‍🦳',
    'white_haired_man_tone5': '👨🏿‍🦳',
    'white_haired_person': '🧑‍🦳',
    'white_haired_person_tone1': '🧑🏻‍🦳',
    'white_haired_person_tone2': '🧑🏼‍🦳',
    'white_haired_person_tone3': '🧑🏽‍🦳',
    'white_haired_person_tone4': '🧑🏾‍🦳',
    'white_haired_person_tone5': '🧑🏿‍🦳',
    'white_haired_woman': '👩‍🦳',
    'white_haired_woman_tone1': '👩🏻‍🦳',
    'white_haired_woman_tone2': '👩🏼‍🦳',
    'white_haired_woman_tone3': '👩🏽‍🦳',
    'white_haired_woman_tone4': '👩🏾‍🦳',
    'white_haired_woman_tone5': '👩🏿‍🦳',
    'white_heart': '🤍',
    'white_question': '❔',
    'white_square_button': '🔳',
    'wilted_rose': '🥀',
    'wind_chime': '🎐',
    'wind_face': '🌬️',
    'window': '🪟',
    'wine_glass': '🍷',
    'wink': '😉',
    'wolf_face': '🐺',
    'woman': '👩',
    'woman_artist': '👩‍🎨',
    'woman_artist_tone1': '👩🏻‍🎨',
    'woman_artist_tone2': '👩🏼‍🎨',
    'woman_artist_tone3': '👩🏽‍🎨',
    'woman_artist_tone4': '👩🏾‍🎨',
    'woman_artist_tone5': '👩🏿‍🎨',
    'woman_astronaut': '👩‍🚀',
    'woman_astronaut_tone1': '👩🏻‍🚀',
    'woman_astronaut_tone2': '👩🏼‍🚀',
    'woman_astronaut_tone3': '👩🏽‍🚀',
    'woman_astronaut_tone4': '👩🏾‍🚀',
    'woman_astronaut_tone5': '👩🏿‍🚀',
    'woman_biking': '🚴‍♀️',
    'woman_biking_tone1': '🚴🏻‍♀️',
    'woman_biking_tone2': '🚴🏼‍♀️',
    'woman_biking_tone3': '🚴🏽‍♀️',
    'woman_biking_tone4': '🚴🏾‍♀️',
    'woman_biking_tone5': '🚴🏿‍♀️',
    'woman_bowing': '🙇‍♀️',
    'woman_bowing_tone1': '🙇🏻‍♀️',
    'woman_bowing_tone2': '🙇🏼‍♀️',
    'woman_bowing_tone3': '🙇🏽‍♀️',
    'woman_bowing_tone4': '🙇🏾‍♀️',
    'woman_bowing_tone5': '🙇🏿‍♀️',
    'woman_cartwheeling': '🤸‍♀️',
    'woman_cartwheeling_tone1': '🤸🏻‍♀️',
    'woman_cartwheeling_tone2': '🤸🏼‍♀️',
    'woman_cartwheeling_tone3': '🤸🏽‍♀️',
    'woman_cartwheeling_tone4': '🤸🏾‍♀️',
    'woman_cartwheeling_tone5': '🤸🏿‍♀️',
    'woman_climbing': '🧗‍♀️',
    'woman_climbing_tone1': '🧗🏻‍♀️',
    'woman_climbing_tone2': '🧗🏼‍♀️',
    'woman_climbing_tone3': '🧗🏽‍♀️',
    'woman_climbing_tone4': '🧗🏾‍♀️',
    'woman_climbing_tone5': '🧗🏿‍♀️',
    'woman_construction_worker': '👷‍♀️',
    'woman_construction_worker_tone1': '👷🏻‍♀️',
    'woman_construction_worker_tone2': '👷🏼‍♀️',
    'woman_construction_worker_tone3': '👷🏽‍♀️',
    'woman_construction_worker_tone4': '👷🏾‍♀️',
    'woman_construction_worker_tone5': '👷🏿‍♀️',
    'woman_cook': '👩‍🍳',
    'woman_cook_tone1': '👩🏻‍🍳',
    'woman_cook_tone2': '👩🏼‍🍳',
    'woman_cook_tone3': '👩🏽‍🍳',
    'woman_cook_tone4': '👩🏾‍🍳',
    'woman_cook_tone5': '👩🏿‍🍳',
    'woman_dancing': '💃',
    'woman_dancing_tone1': '💃🏻',
    'woman_dancing_tone2': '💃🏼',
    'woman_dancing_tone3': '💃🏽',
    'woman_dancing_tone4': '💃🏾',
    'woman_dancing_tone5': '💃🏿',
    'woman_deaf': '🧏‍♀️',
    'woman_deaf_tone1': '🧏🏻‍♀️',
    'woman_deaf_tone2': '🧏🏼‍♀️',
    'woman_deaf_tone3': '🧏🏽‍♀️',
    'woman_deaf_tone4': '🧏🏾‍♀️',
    'woman_deaf_tone5': '🧏🏿‍♀️',
    'woman_elf': '🧝‍♀️',
    'woman_elf_tone1': '🧝🏻‍♀️',
    'woman_elf_tone2': '🧝🏼‍♀️',
    'woman_elf_tone3': '🧝🏽‍♀️',
    'woman_elf_tone4': '🧝🏾‍♀️',
    'woman_elf_tone5': '🧝🏿‍♀️',
    'woman_facepalming': '🤦‍♀️',
    'woman_facepalming_tone1': '🤦🏻‍♀️',
    'woman_facepalming_tone2': '🤦🏼‍♀️',
    'woman_facepalming_tone3': '🤦🏽‍♀️',
    'woman_facepalming_tone4': '🤦🏾‍♀️',
    'woman_facepalming_tone5': '🤦🏿‍♀️',
    'woman_factory_worker': '👩‍🏭',
    'woman_factory_worker_tone1': '👩🏻‍🏭',
    'woman_factory_worker_tone2': '👩🏼‍🏭',
    'woman_factory_worker_tone3': '👩🏽‍🏭',
    'woman_factory_worker_tone4': '👩🏾‍🏭',
    'woman_factory_worker_tone5': '👩🏿‍🏭',
    'woman_fairy': '🧚‍♀️',
    'woman_fairy_tone1': '🧚🏻‍♀️',
    'woman_fairy_tone2': '🧚🏼‍♀️',
    'woman_fairy_tone3': '🧚🏽‍♀️',
    'woman_fairy_tone4': '🧚🏾‍♀️',
    'woman_fairy_tone5': '🧚🏿‍♀️',
    'woman_farmer': '👩‍🌾',
    'woman_farmer_tone1': '👩🏻‍🌾',
    'woman_farmer_tone2': '👩🏼‍🌾',
    'woman_farmer_tone3': '👩🏽‍🌾',
    'woman_farmer_tone4': '👩🏾‍🌾',
    'woman_farmer_tone5': '👩🏿‍🌾',
    'woman_feeding_baby': '👩‍🍼',
    'woman_feeding_baby_tone1': '👩🏻‍🍼',
    'woman_feeding_baby_tone2': '👩🏼‍🍼',
    'woman_feeding_baby_tone3': '👩🏽‍🍼',
    'woman_feeding_baby_tone4': '👩🏾‍🍼',
    'woman_feeding_baby_tone5': '👩🏿‍🍼',
    'woman_firefighter': '👩‍🚒',
    'woman_firefighter_tone1': '👩🏻‍🚒',
    'woman_firefighter_tone2': '👩🏼‍🚒',
    'woman_firefighter_tone3': '👩🏽‍🚒',
    'woman_firefighter_tone4': '👩🏾‍🚒',
    'woman_firefighter_tone5': '👩🏿‍🚒',
    'woman_frowning': '🙍‍♀️',
    'woman_frowning_tone1': '🙍🏻‍♀️',
    'woman_frowning_tone2': '🙍🏼‍♀️',
    'woman_frowning_tone3': '🙍🏽‍♀️',
    'woman_frowning_tone4': '🙍🏾‍♀️',
    'woman_frowning_tone5': '🙍🏿‍♀️',
    'woman_genie': '🧞‍♀️',
    'woman_gesturing_no': '🙅‍♀️',
    'woman_gesturing_no_tone1': '🙅🏻‍♀️',
    'woman_gesturing_no_tone2': '🙅🏼‍♀️',
    'woman_gesturing_no_tone3': '🙅🏽‍♀️',
    'woman_gesturing_no_tone4': '🙅🏾‍♀️',
    'woman_gesturing_no_tone5': '🙅🏿‍♀️',
    'woman_gesturing_ok': '🙆‍♀️',
    'woman_gesturing_ok_tone1': '🙆🏻‍♀️',
    'woman_gesturing_ok_tone2': '🙆🏼‍♀️',
    'woman_gesturing_ok_tone3': '🙆🏽‍♀️',
    'woman_gesturing_ok_tone4': '🙆🏾‍♀️',
    'woman_gesturing_ok_tone5': '🙆🏿‍♀️',
    'woman_getting_face_massage': '💆‍♀️',
    'woman_getting_face_massage_tone1': '💆🏻‍♀️',
    'woman_getting_face_massage_tone2': '💆🏼‍♀️',
    'woman_getting_face_massage_tone3': '💆🏽‍♀️',
    'woman_getting_face_massage_tone4': '💆🏾‍♀️',
    'woman_getting_face_massage_tone5': '💆🏿‍♀️',
    'woman_getting_haircut': '💇‍♀️',
    'woman_getting_haircut_tone1': '💇🏻‍♀️',
    'woman_getting_haircut_tone2': '💇🏼‍♀️',
    'woman_getting_haircut_tone3': '💇🏽‍♀️',
    'woman_getting_haircut_tone4': '💇🏾‍♀️',
    'woman_getting_haircut_tone5': '💇🏿‍♀️',
    'woman_guard': '💂‍♀️',
    'woman_guard_tone1': '💂🏻‍♀️',
    'woman_guard_tone2': '💂🏼‍♀️',
    'woman_guard_tone3': '💂🏽‍♀️',
    'woman_guard_tone4': '💂🏾‍♀️',
    'woman_guard_tone5': '💂🏿‍♀️',
    'woman_handball': '🤾‍♀️',
    'woman_handball_tone1': '🤾🏻‍♀️',
    'woman_handball_tone2': '🤾🏼‍♀️',
    'woman_handball_tone3': '🤾🏽‍♀️',
    'woman_handball_tone4': '🤾🏾‍♀️',
    'woman_handball_tone5': '🤾🏿‍♀️',
    'woman_headscarf': '🧕',
    'woman_headscarf_tone1': '🧕🏻',
    'woman_headscarf_tone2': '🧕🏼',
    'woman_headscarf_tone3': '🧕🏽',
    'woman_headscarf_tone4': '🧕🏾',
    'woman_headscarf_tone5': '🧕🏿',
    'woman_health_worker': '👩‍⚕️',
    'woman_health_worker_tone1': '👩🏻‍⚕️',
    'woman_health_worker_tone2': '👩🏼‍⚕️',
    'woman_health_worker_tone3': '👩🏽‍⚕️',
    'woman_health_worker_tone4': '👩🏾‍⚕️',
    'woman_health_worker_tone5': '👩🏿‍⚕️',
    'woman_hero': '🦸‍♀️',
    'woman_hero_tone1': '🦸🏻‍♀️',
    'woman_hero_tone2': '🦸🏼‍♀️',
    'woman_hero_tone3': '🦸🏽‍♀️',
    'woman_hero_tone4': '🦸🏾‍♀️',
    'woman_hero_tone5': '🦸🏿‍♀️',
    'woman_in_tuxedo': '🤵‍♀️',
    'woman_in_tuxedo_tone1': '🤵🏻‍♀️',
    'woman_in_tuxedo_tone2': '🤵🏼‍♀️',
    'woman_in_tuxedo_tone3': '🤵🏽‍♀️',
    'woman_in_tuxedo_tone4': '🤵🏾‍♀️',
    'woman_in_tuxedo_tone5': '🤵🏿‍♀️',
    'woman_judge': '👩‍⚖️',
    'woman_judge_tone1': '👩🏻‍⚖️',
    'woman_judge_tone2': '👩🏼‍⚖️',
    'woman_judge_tone3': '👩🏽‍⚖️',
    'woman_judge_tone4': '👩🏾‍⚖️',
    'woman_judge_tone5': '👩🏿‍⚖️',
    'woman_juggling': '🤹‍♀️',
    'woman_juggling_tone1': '🤹🏻‍♀️',
    'woman_juggling_tone2': '🤹🏼‍♀️',
    'woman_juggling_tone3': '🤹🏽‍♀️',
    'woman_juggling_tone4': '🤹🏾‍♀️',
    'woman_juggling_tone5': '🤹🏿‍♀️',
    'woman_kneeling': '🧎‍♀️',
    'woman_kneeling_tone1': '🧎🏻‍♀️',
    'woman_kneeling_tone2': '🧎🏼‍♀️',
    'woman_kneeling_tone3': '🧎🏽‍♀️',
    'woman_kneeling_tone4': '🧎🏾‍♀️',
    'woman_kneeling_tone5': '🧎🏿‍♀️',
    'woman_lotus_position': '🧘‍♀️',
    'woman_lotus_position_tone1': '🧘🏻‍♀️',
    'woman_lotus_position_tone2': '🧘🏼‍♀️',
    'woman_lotus_position_tone3': '🧘🏽‍♀️',
    'woman_lotus_position_tone4': '🧘🏾‍♀️',
    'woman_lotus_position_tone5': '🧘🏿‍♀️',
    'woman_mage': '🧙‍♀️',
    'woman_mage_tone1': '🧙🏻‍♀️',
    'woman_mage_tone2': '🧙🏼‍♀️',
    'woman_mage_tone3': '🧙🏽‍♀️',
    'woman_mage_tone4': '🧙🏾‍♀️',
    'woman_mage_tone5': '🧙🏿‍♀️',
    'woman_mechanic': '👩‍🔧',
    'woman_mechanic_tone1': '👩🏻‍🔧',
    'woman_mechanic_tone2': '👩🏼‍🔧',
    'woman_mechanic_tone3': '👩🏽‍🔧',
    'woman_mechanic_tone4': '👩🏾‍🔧',
    'woman_mechanic_tone5': '👩🏿‍🔧',
    'woman_motor_wheelchair': '👩‍🦼',
    'woman_motor_wheelchair_tone1': '👩🏻‍🦼',
    'woman_motor_wheelchair_tone2': '👩🏼‍🦼',
    'woman_motor_wheelchair_tone3': '👩🏽‍🦼',
    'woman_motor_wheelchair_tone4': '👩🏾‍🦼',
    'woman_motor_wheelchair_tone5': '👩🏿‍🦼',
    'woman_mountain_biking': '🚵‍♀️',
    'woman_mountain_biking_tone1': '🚵🏻‍♀️',
    'woman_mountain_biking_tone2': '🚵🏼‍♀️',
    'woman_mountain_biking_tone3': '🚵🏽‍♀️',
    'woman_mountain_biking_tone4': '🚵🏾‍♀️',
    'woman_mountain_biking_tone5': '🚵🏿‍♀️',
    'woman_office_worker': '👩‍💼',
    'woman_office_worker_tone1': '👩🏻‍💼',
    'woman_office_worker_tone2': '👩🏼‍💼',
    'woman_office_worker_tone3': '👩🏽‍💼',
    'woman_office_worker_tone4': '👩🏾‍💼',
    'woman_office_worker_tone5': '👩🏿‍💼',
    'woman_pilot': '👩‍✈️',
    'woman_pilot_tone1': '👩🏻‍✈️',
    'woman_pilot_tone2': '👩🏼‍✈️',
    'woman_pilot_tone3': '👩🏽‍✈️',
    'woman_pilot_tone4': '👩🏾‍✈️',
    'woman_pilot_tone5': '👩🏿‍✈️',
    'woman_police_officer': '👮‍♀️',
    'woman_police_officer_tone1': '👮🏻‍♀️',
    'woman_police_officer_tone2': '👮🏼‍♀️',
    'woman_police_officer_tone3': '👮🏽‍♀️',
    'woman_police_officer_tone4': '👮🏾‍♀️',
    'woman_police_officer_tone5': '👮🏿‍♀️',
    'woman_pouting': '🙎‍♀️',
    'woman_pouting_tone1': '🙎🏻‍♀️',
    'woman_pouting_tone2': '🙎🏼‍♀️',
    'woman_pouting_tone3': '🙎🏽‍♀️',
    'woman_pouting_tone4': '🙎🏾‍♀️',
    'woman_pouting_tone5': '🙎🏿‍♀️',
    'woman_probing_cane': '👩‍🦯',
    'woman_probing_cane_tone1': '👩🏻‍🦯',
    'woman_probing_cane_tone2': '👩🏼‍🦯',
    'woman_probing_cane_tone3': '👩🏽‍🦯',
    'woman_probing_cane_tone4': '👩🏾‍🦯',
    'woman_probing_cane_tone5': '👩🏿‍🦯',
    'woman_raising_hand': '🙋‍♀️',
    'woman_raising_hand_tone1': '🙋🏻‍♀️',
    'woman_raising_hand_tone2': '🙋🏼‍♀️',
    'woman_raising_hand_tone3': '🙋🏽‍♀️',
    'woman_raising_hand_tone4': '🙋🏾‍♀️',
    'woman_raising_hand_tone5': '🙋🏿‍♀️',
    'woman_rowing_boat': '🚣‍♀️',
    'woman_rowing_boat_tone1': '🚣🏻‍♀️',
    'woman_rowing_boat_tone2': '🚣🏼‍♀️',
    'woman_rowing_boat_tone3': '🚣🏽‍♀️',
    'woman_rowing_boat_tone4': '🚣🏾‍♀️',
    'woman_rowing_boat_tone5': '🚣🏿‍♀️',
    'woman_running': '🏃‍♀️',
    'woman_running_tone1': '🏃🏻‍♀️',
    'woman_running_tone2': '🏃🏼‍♀️',
    'woman_running_tone3': '🏃🏽‍♀️',
    'woman_running_tone4': '🏃🏾‍♀️',
    'woman_running_tone5': '🏃🏿‍♀️',
    'woman_scientist': '👩‍🔬',
    'woman_scientist_tone1': '👩🏻‍🔬',
    'woman_scientist_tone2': '👩🏼‍🔬',
    'woman_scientist_tone3': '👩🏽‍🔬',
    'woman_scientist_tone4': '👩🏾‍🔬',
    'woman_scientist_tone5': '👩🏿‍🔬',
    'woman_shrugging': '🤷‍♀️',
    'woman_shrugging_tone1': '🤷🏻‍♀️',
    'woman_shrugging_tone2': '🤷🏼‍♀️',
    'woman_shrugging_tone3': '🤷🏽‍♀️',
    'woman_shrugging_tone4': '🤷🏾‍♀️',
    'woman_shrugging_tone5': '🤷🏿‍♀️',
    'woman_singer': '👩‍🎤',
    'woman_singer_tone1': '👩🏻‍🎤',
    'woman_singer_tone2': '👩🏼‍🎤',
    'woman_singer_tone3': '👩🏽‍🎤',
    'woman_singer_tone4': '👩🏾‍🎤',
    'woman_singer_tone5': '👩🏿‍🎤',
    'woman_standing': '🧍‍♀️',
    'woman_standing_tone1': '🧍🏻‍♀️',
    'woman_standing_tone2': '🧍🏼‍♀️',
    'woman_standing_tone3': '🧍🏽‍♀️',
    'woman_standing_tone4': '🧍🏾‍♀️',
    'woman_standing_tone5': '🧍🏿‍♀️',
    'woman_steamy_room': '🧖‍♀️',
    'woman_steamy_room_tone1': '🧖🏻‍♀️',
    'woman_steamy_room_tone2': '🧖🏼‍♀️',
    'woman_steamy_room_tone3': '🧖🏽‍♀️',
    'woman_steamy_room_tone4': '🧖🏾‍♀️',
    'woman_steamy_room_tone5': '🧖🏿‍♀️',
    'woman_student': '👩‍🎓',
    'woman_student_tone1': '👩🏻‍🎓',
    'woman_student_tone2': '👩🏼‍🎓',
    'woman_student_tone3': '👩🏽‍🎓',
    'woman_student_tone4': '👩🏾‍🎓',
    'woman_student_tone5': '👩🏿‍🎓',
    'woman_surfing': '🏄‍♀️',
    'woman_surfing_tone1': '🏄🏻‍♀️',
    'woman_surfing_tone2': '🏄🏼‍♀️',
    'woman_surfing_tone3': '🏄🏽‍♀️',
    'woman_surfing_tone4': '🏄🏾‍♀️',
    'woman_surfing_tone5': '🏄🏿‍♀️',
    'woman_swimming': '🏊‍♀️',
    'woman_swimming_tone1': '🏊🏻‍♀️',
    'woman_swimming_tone2': '🏊🏼‍♀️',
    'woman_swimming_tone3': '🏊🏽‍♀️',
    'woman_swimming_tone4': '🏊🏾‍♀️',
    'woman_swimming_tone5': '🏊🏿‍♀️',
    'woman_teacher': '👩‍🏫',
    'woman_teacher_tone1': '👩🏻‍🏫',
    'woman_teacher_tone2': '👩🏼‍🏫',
    'woman_teacher_tone3': '👩🏽‍🏫',
    'woman_teacher_tone4': '👩🏾‍🏫',
    'woman_teacher_tone5': '👩🏿‍🏫',
    'woman_technologist': '👩‍💻',
    'woman_technologist_tone1': '👩🏻‍💻',
    'woman_technologist_tone2': '👩🏼‍💻',
    'woman_technologist_tone3': '👩🏽‍💻',
    'woman_technologist_tone4': '👩🏾‍💻',
    'woman_technologist_tone5': '👩🏿‍💻',
    'woman_tipping_hand': '💁‍♀️',
    'woman_tipping_hand_tone1': '💁🏻‍♀️',
    'woman_tipping_hand_tone2': '💁🏼‍♀️',
    'woman_tipping_hand_tone3': '💁🏽‍♀️',
    'woman_tipping_hand_tone4': '💁🏾‍♀️',
    'woman_tipping_hand_tone5': '💁🏿‍♀️',
    'woman_tone1': '👩🏻',
    'woman_tone2': '👩🏼',
    'woman_tone3': '👩🏽',
    'woman_tone4': '👩🏾',
    'woman_tone5': '👩🏿',
    'woman_turban': '👳‍♀️',
    'woman_turban_tone1': '👳🏻‍♀️',
    'woman_turban_tone2': '👳🏼‍♀️',
    'woman_turban_tone3': '👳🏽‍♀️',
    'woman_turban_tone4': '👳🏾‍♀️',
    'woman_turban_tone5': '👳🏿‍♀️',
    'woman_vampire': '🧛‍♀️',
    'woman_vampire_tone1': '🧛🏻‍♀️',
    'woman_vampire_tone2': '🧛🏼‍♀️',
    'woman_vampire_tone3': '🧛🏽‍♀️',
    'woman_vampire_tone4': '🧛🏾‍♀️',
    'woman_vampire_tone5': '🧛🏿‍♀️',
    'woman_veiled_bride': '👰‍♀️',
    'woman_veiled_bride_tone1': '👰🏻‍♀️',
    'woman_veiled_bride_tone2': '👰🏼‍♀️',
    'woman_veiled_bride_tone3': '👰🏽‍♀️',
    'woman_veiled_bride_tone4': '👰🏾‍♀️',
    'woman_veiled_bride_tone5': '👰🏿‍♀️',
    'woman_villain': '🦹‍♀️',
    'woman_villain_tone1': '🦹🏻‍♀️',
    'woman_villain_tone2': '🦹🏼‍♀️',
    'woman_villain_tone3': '🦹🏽‍♀️',
    'woman_villain_tone4': '🦹🏾‍♀️',
    'woman_villain_tone5': '🦹🏿‍♀️',
    'woman_walking': '🚶‍♀️',
    'woman_walking_tone1': '🚶🏻‍♀️',
    'woman_walking_tone2': '🚶🏼‍♀️',
    'woman_walking_tone3': '🚶🏽‍♀️',
    'woman_walking_tone4': '🚶🏾‍♀️',
    'woman_walking_tone5': '🚶🏿‍♀️',
    'woman_water_polo': '🤽‍♀️',
    'woman_water_polo_tone1': '🤽🏻‍♀️',
    'woman_water_polo_tone2': '🤽🏼‍♀️',
    'woman_water_polo_tone3': '🤽🏽‍♀️',
    'woman_water_polo_tone4': '🤽🏾‍♀️',
    'woman_water_polo_tone5': '🤽🏿‍♀️',
    'woman_wheelchair': '👩‍🦽',
    'woman_wheelchair_tone1': '👩🏻‍🦽',
    'woman_wheelchair_tone2': '👩🏼‍🦽',
    'woman_wheelchair_tone3': '👩🏽‍🦽',
    'woman_wheelchair_tone4': '👩🏾‍🦽',
    'woman_wheelchair_tone5': '👩🏿‍🦽',
    'woman_zombie': '🧟‍♀️',
    'womans_boot': '👢',
    'womans_clothes': '👚',
    'womans_hat': '👒',
    'womans_sandal': '👡',
    'women_bunny_ears_partying': '👯‍♀️',
    'women_wrestling': '🤼‍♀️',
    'womens': '🚺️',
    'wood': '🪵',
    'woozy': '🥴',
    'worm': '🪱',
    'worried': '😟',
    'wrench': '🔧',
    'writing_hand': '✍️',
    'writing_hand_tone1': '✍🏻',
    'writing_hand_tone2': '✍🏼',
    'writing_hand_tone3': '✍🏽',
    'writing_hand_tone4': '✍🏾',
    'writing_hand_tone5': '✍🏿',
    'wtf': '😧',
    'x': '❌',
    'xmas_tree': '🎄',
    'yarn': '🧶',
    'yawn': '🥱',
    'yellow_circle': '🟡',
    'yellow_heart': '💛',
    'yellow_square': '🟨',
    'yen': '💴',
    'yerba_mate': '🧉',
    'yes': '👍️',
    'yes_tone1': '👍🏻',
    'yes_tone2': '👍🏼',
    'yes_tone3': '👍🏽',
    'yes_tone4': '👍🏾',
    'yes_tone5': '👍🏿',
    'yin_yang': '☯️',
    'yoyo': '🪀',
    'yum': '😋',
    'zap': '⚡️',
    'zebra': '🦓',
    'zero': '0️⃣',
    'zipper_mouth': '🤐',
    'zombie': '🧟',
    'zzz': '💤',
};

// Characters that should never be matches as emoji when unqualified.
const TEXT_WHEN_UNQUALIFIED = ['©', '®', '™'];

/**
 * Convert emoji unicode characters to images.
 */
export function emojify(text: string): string {
    const tokens = parseEmoji(text);
    let output = '';
    for (const token of tokens) {
        if (isEmojiInfo(token)) {
            output += `<img class="em" draggable="false" `;
            output += `alt="${token.emojiString}" src="${token.imgPath}" data-c="${token.codepoint}">`;
        } else {
            // Plain text
            output += token;
        }
    }
    return output;
}

/**
 * Convert emoji unicode characters to structured EmojiInfo objects.
 */
export function parseEmoji(text: string): (threema.EmojiInfo | string)[] {
    // Create a global RegExp, which stores state
    const regex = new RegExp(EMOJI_REGEX, 'g');
    const result = [];

    const textVariantSelector = '\ufe0e';

    let match: string[];
    let startIndex: number = 0;
    let endIndex: number = 0;

    // tslint:disable-next-line:no-conditional-assignment
    while ((match = regex.exec(text)) !== null) {
        // Detect emoji
        const emoji: string = match[0];
        const prevEndIndex = endIndex;
        startIndex = regex.lastIndex - emoji.length;
        endIndex = regex.lastIndex;

        // Push text preceding emoji
        if (prevEndIndex < startIndex) {
            result.push(text.substring(prevEndIndex, startIndex));
        }

        let forceText = false;
        if (TEXT_WHEN_UNQUALIFIED.includes(emoji)) {
            // Emoji that should always be shown as text when unqualified
            forceText = true;
        } else if (emoji.length > 1 && emoji.slice(-1) === textVariantSelector) {
            // Emoji with text variant selector
            forceText = true;
        }

        // Push emoji
        if (forceText) {
            result.push(emoji);
        } else {
            const codepoint = twemoji.convert.toCodePoint(emoji);
            const strippedCodepoint = codepoint
                // Strip trailing emoji variant selector from filename
                .replace(/-fe0[ef]$/, '')
                // Because for some reason twemoji filenames don't include the
                // emoji specifier in the keycap signs, remove it manually.
                .replace(/-fe0[ef]-20e3$/, '-20e3');
            result.push({
                emojiString: emoji,
                imgPath: `emoji/png32/${strippedCodepoint}.png`,
                codepoint: codepoint,
            });
        }
    }

    if (endIndex < text.length) {
        result.push(text.substring(endIndex, text.length));
    }

    return result.filter((x) => x !== null);
}

/**
 * Translate a shortname to UTF8.
 *
 * If the shortname is unknown, `null` will be returned.
 *
 * Case will be ignored (the input will be converted to lowercase).
 */
export function shortnameToUtf8(shortname: string): string | null {
    return SHORTNAMES[shortname.toLowerCase()] || null;
}

/**
 * Enlarge 1-3 emoji.
 */
const pattern = /<img class="em([" ])([^>]*>)/g;
const singleEmojiThreshold = 3;
const singleEmojiClassName = 'large-emoji';
export function enlargeSingleEmoji(text: string, enlarge: boolean = false): string {
    if (!enlarge) {
        return text;
    }
    const matches = text.match(pattern);
    if (matches != null && matches.length >= 1 && matches.length <= singleEmojiThreshold) {
        if (text.replace(pattern, '').length === 0) {
            text = text
                .replace(pattern, '<img class="em ' + singleEmojiClassName + '$1$2')
                .replace(/\/png32\//g, '/png64/');
        }
    }
    return text;
}
